【问题标题】:How to secure RESTful API that performs CRUD from a native application如何保护从本机应用程序执行 CRUD 的 RESTful API
【发布时间】:2016-07-15 01:06:54
【问题描述】:

在我的 .NET 服务器中,我使用 Rest API 来执行来自我的客户端(WPF、MVC、IOS 和 Android)的 CRUD 操作。 我的身份验证和授权服务器是 Identity Server。

保护我的 API 的最佳且安全的方法是什么? 是 SSL、Oauth2 和 openID 连接还是都不连接?

我了解到 Oauth2 和 openID 连接适用于登录机制而不适用于 API,是真的吗?

【问题讨论】:

    标签: .net rest restful-authentication restful-architecture restful-url


    【解决方案1】:

    OAuth 2.0 是一个授权框架,允许客户端(应用程序)代表用户(资源所有者)访问 API。

    OpenID Connect 是 OAuth 2.0 之上的一个层,使用户能够登录到 Web 应用程序。

    您可以使用 OpenID Connect 来允许您的用户登录到您的 MVC 应用程序。然后它可以使用code authorization flow 为您的 API 获取令牌。

    但是,您的 WPF 和移动客户端 (Android/iOS) 将使用 implicit flow 或没有客户端密码的代码授权流来获取与您的 API 通信的令牌。

    【讨论】:

    • 代码授权流程是Oauth2吗?在 API 的情况下使用 SSL 不是更好吗?
    • @user1630359 是的,两个流程都是 OAuth2。它处理如何获取令牌以调用 API。使用 OAuth2 流时需要 HTTPS。
    猜你喜欢
    • 1970-01-01
    • 2012-12-15
    • 2011-08-27
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    相关资源
    最近更新 更多