【发布时间】:2014-12-03 06:42:04
【问题描述】:
背景
我已经实现了 Thinktecture.IdentityServer.V3(openID Connect 之一)。我已将 OAuth2 不记名令牌以以下形式返回给我的 javascript 客户端(隐式流):
{
"id_token": "eyJ0eXAiOiJKV1QiLCJh...", // JWT
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni..", // JWT
"token_type": "Bearer",
"expires_in": "3600",
"scope": "openid profile read write email",
"state": "1299139105028949"
}
但在所有示例中,它们仅在调用服务时将 access_token 传递给资源提供者。
$.ajax({
url: 'http://localhost:2727/Account/123/Get',
headers: {
Authorization: "Bearer " + $scope.response.access_token
}
})
假设
如果我做对了,我会使用访问令牌进行身份验证。然后我根据 id_token 中的声明进行授权(我不想进行单独的数据库调用 - 我希望它完全独立)。
问题
如何通过 ajax 将此信息传递给我的 webapi2 端点(假设我已经设置了 CORS 等)以及我必须连接哪些中间件来验证它? (我猜是 Token Validators 和 claimManager 之一,但有很多我无法确定哪个是正确的使用)。
帮助非常感谢
【问题讨论】:
标签: javascript oauth-2.0 asp.net-web-api2 thinktecture-ident-server openid-connect