web api 2 客户端和用户两部分认证
web api 2 client and user two part authentication
我目前的任务是编写一个 RESTful API 我们将要发布给我们的客户。我计划将 Web API 2 与 OWIN 中间件一起使用。将访问它的应用程序范围很广,从没有额外用户身份验证的控制台应用程序到涉及用户登录和身份验证的完整网络应用程序。
另一个要求是我们不仅需要提供用户身份验证来控制我们将 return 的数据,我们还需要验证我们的组织允许访问我们 API 的应用程序。因此,这要求我们不仅要验证调用我们 API 的应用程序,还要验证通过该应用程序登录的许多用户。
目标是使用像 OAuth 2 这样的不记名令牌技术。我对 OAuth 2 不是很熟悉,但在查看之后我没有看到一种方法来促进像这样的两部分身份验证。理想情况下,我们希望发布一个 clientId 和一个 clientPassword,他们会将其与 userid 和 userpassword 一起传递,然后我们会传回一个令牌。
这是任何人在使用 OAuth2 之前解决过的问题吗?或者这是自定义身份验证解决方案的工作?
您描述的内容听起来像是相当标准的 Oauth2.0 场景,因此您不需要任何自定义。
对于 Web 应用程序,您可以使用 Resource Owners Password Credentials Grant。这是标准流程。
这允许您的 Oauth 客户端将其客户端 ID 和客户端密码连同用户的 ID 和密码一起传递给您的 Auth 服务器,然后在发出令牌作为响应之前验证用户和客户端。
但我建议使用 Authorization Code Grant,这可能是 Web 应用程序的最佳选择,它涉及对客户端和用户进行有效身份验证。
对于控制台应用程序或非用户特定的任何应用程序,您可以使用 Client Credentials Grant。这允许应用程序在没有用户的情况下进行身份验证并获取令牌。
如果您需要 API 了解客户端应用程序,您唯一不能真正使用的流程是不对客户端进行身份验证的隐式授权。
我目前的任务是编写一个 RESTful API 我们将要发布给我们的客户。我计划将 Web API 2 与 OWIN 中间件一起使用。将访问它的应用程序范围很广,从没有额外用户身份验证的控制台应用程序到涉及用户登录和身份验证的完整网络应用程序。
另一个要求是我们不仅需要提供用户身份验证来控制我们将 return 的数据,我们还需要验证我们的组织允许访问我们 API 的应用程序。因此,这要求我们不仅要验证调用我们 API 的应用程序,还要验证通过该应用程序登录的许多用户。
目标是使用像 OAuth 2 这样的不记名令牌技术。我对 OAuth 2 不是很熟悉,但在查看之后我没有看到一种方法来促进像这样的两部分身份验证。理想情况下,我们希望发布一个 clientId 和一个 clientPassword,他们会将其与 userid 和 userpassword 一起传递,然后我们会传回一个令牌。
这是任何人在使用 OAuth2 之前解决过的问题吗?或者这是自定义身份验证解决方案的工作?
您描述的内容听起来像是相当标准的 Oauth2.0 场景,因此您不需要任何自定义。
对于 Web 应用程序,您可以使用 Resource Owners Password Credentials Grant。这是标准流程。
这允许您的 Oauth 客户端将其客户端 ID 和客户端密码连同用户的 ID 和密码一起传递给您的 Auth 服务器,然后在发出令牌作为响应之前验证用户和客户端。
但我建议使用 Authorization Code Grant,这可能是 Web 应用程序的最佳选择,它涉及对客户端和用户进行有效身份验证。
对于控制台应用程序或非用户特定的任何应用程序,您可以使用 Client Credentials Grant。这允许应用程序在没有用户的情况下进行身份验证并获取令牌。
如果您需要 API 了解客户端应用程序,您唯一不能真正使用的流程是不对客户端进行身份验证的隐式授权。