验证OAuth 2访问令牌以进行登录

时间:2015-02-19 04:54:11

标签: oauth-2.0 azure-active-directory

请求返回我的网站后,Browser Based OAuth之后, https://oauth2client.com/cb#token=ACCESS_TOKEN,如何验证访问令牌是否真实,让他们进入应用程序?

Web应用程序服务器是否向oauth2server发出请求以证明用户不仅伪造了访问令牌?

使用System.IdentityModel.Services.WSFederationAuthenticationModule是否会请求获取用户声明?我只需要知道用户的声明是真实的,并且不需要从OAuth服务器访问资源。

1 个答案:

答案 0 :(得分:2)

隐式授权OAuth流通常由HTML5 / JS单页应用程序使用,这些应用程序使用它们通过片段接收的访问令牌直接向WebAPI调用AJAX。

JavaScript应用程序不需要验证令牌 - 它调用的WebAPI必须。 WebAPI(如果用.net编写)可以使用JWT Token Handler或新的OWIN框架(示例在这里:https://github.com/AzureADSamples/SinglePageApp-DotNet)。

如果您的WebAPI技术没有可用的JWT令牌处理程序,并且您需要手动处理处理,请确保验证:

  1. 令牌的受众(已为您的API发出令牌)
  2. 令牌的颁发者(该令牌已由资源的可信机构颁发)
  3. 令牌的签名(令牌确实已由发行者签名 - 使用发行者发布的令牌签名密钥的公钥进行验证)
  4. 令牌尚未过期
  5. OAuth范围(scp)
  6. 然后验证您基于授权的其他声明