背景
我已经实现了 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 之一,但有太多我无法决定哪一个是正确的)。
非常感谢帮助