如何保护从本机应用程序执行 CRUD 的 RESTful API

How to secure RESTful API that performs CRUD from a native application

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

保护我的 API 的最佳和最安全的方法是什么? 是 SSL、Oauth2 和 openID 连接还是其中的 none?

我读到 Oauth2 和 openID 连接适用于登录机制而不适用于 APIs,这是真的吗?

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

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

您可以使用 OpenID Connect 让您的用户登录您的 MVC 应用程序。然后它可以使用 code authorization flow 为您的 API.

获取令牌

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