【发布时间】:2014-07-07 01:49:51
【问题描述】:
我是 OAuth 2.0 的新手。
我仔细阅读了OAuth 2.0 doc,发现有四种获取授权的方法。
获得授权的类型:
1.Implicit Grant
2.Resource Owner Password Credentials Grant
3.Client Credentials Grant
4.Authorization Code Grant
就我而言,我有客户端应用程序、资源所有者、资源服务器和授权服务器。
资源服务器是资源所有者使用其凭据注册的网站。
客户端应用程序是注册到资源服务器并获取客户端应用程序凭据以供将来访问它的第三方网站。
授权服务器检查来自客户端应用的客户端凭据并将访问令牌授予客户端应用。
让我们考虑,资源服务器为“www.serversite.com”,授权服务器为“www.authserver.com”,客户端应用程序为“www.clientapp.com”。
流程:
步骤 1: 还假设www.serversite.com 作为支付网关站点,客户端必须将“www.serversite.com”集成到“www.clientapp.com”中进行创建,执行和退还付款。
第 2 步:因此客户端“www.clientapp.com”在服务器“www.serversite.com”中创建一个应用程序并获取 API 凭据。
第 3 步:使用这些 API 凭据,客户端“www.clientapp.com”向身份验证服务器“www.authserver.com”发出访问令牌请求。
第 4 步:如果来自客户端应用的 API 凭据有效,则身份验证服务器会授予访问令牌。
第 5 步:使用此访问令牌,客户端应用程序请求资源服务器进行进一步的操作,例如创建付款以及执行付款。
我的问题:
我正在使用ASP.NET Web API for authorization server 和OWIN.OAuth 来生成访问令牌、刷新令牌、授权以及授权客户端应用程序所需的所有内容。
但是,在此链接 (OWIN OAuth 2.0 Authorization Server) 中,我发现 web api 使用 "Resource Owner Password Credentials Grant" 授权客户端应用程序,并且为在 web api 中实现 Owin.OAuth 提供的示例很棒,但我有很多困惑在我脑海中漫游。
-
哪种获取授权的方式适合我的流程? (客户凭证流程或资源所有者密码凭证流程)
-
如何使用 ASP.NET Web 实现客户端凭据授予类型 API(OWIN OAuth)?
-
还提供一些可能对我有帮助的示例或链接吗?
提前致谢。
【问题讨论】:
-
使用客户端凭据进行应用到应用的身份验证。对于用户身份验证,请使用 Authcode 授权类型。
标签: api oauth asp.net-web-api oauth-2.0 owin