使用OAUth2 Web服务器流程,我已经:
一切都好。现在,third-party.com需要确定用户的规范用户名,因此它可以对www.myserver.com/api/ {username} / details
等资源进行ReSTFUL URI调用。我在ASP.NET MVC上使用DotNetOpenAuth。我的OAuth2控制器如下所示:
namespace OurOAuth2.Server.Controllers { [授权] 公共类OAuth2Controller:Controller { private readonly AuthorizationServer authServer; private readonly IOAuth2ClientAuthorizationStore authStore;
code
我可以看到三种方法:
www.myserver.com上的(非ReSTful)URI端点,它将返回授权供应商承载令牌的用户详细信息 - 因此第三方应用只需使用OAuth2承载令牌点击/ userinfo并获取返回用户的详细信息,包括用户名。
从访问令牌中检索用户身份 - 但我的理解是,这需要解密密钥,不应该是客户端应用程序的一部分(?)
< / LI>在第三方应用和oauth2授权服务器之间的令牌交换中包含一些其他用户状态数据。
我猜(2)是一个坏主意。 (1)很容易实现,但我很想知道方法(3)是否可行以及我将如何实现它。
答案 0 :(得分:0)
最常见的模式是交换访问令牌以获取与Facebook相同的用户详细信息:
“令牌”端点提供访问令牌
“Me”端点提供与请求作为授权头部携带的访问令牌(承载令牌)相关的用户详细信息(根据授予的范围)。