我有一个 Node.js API,它使用护照和 passport-azure-ad 的 OIDC 策略进行身份验证。
用户身份验证后,我得到用户的个人资料、access_token、refresh_token、sub 和 ISS。
然后我使用相同的 access_token 使用此 API 从 Microsoft graph 获取用户的详细信息 - https://graph.microsoft.com/v1.0/me
当我请求时,它提示我这个错误,
{
"error": {
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure.",
"innerError": {
"request-id": "04048b3a-7636-4197-88ef-1f08d3a07c9e",
"date": "2018-12-26T09:40:58"
}
}
}
当我使用 OAuth 2.0 并获取 access_token 并使用该 access_token 访问相同的 API 时,详细信息将成功返回。
尽管我尝试匹配 Open ID connect 和 OAuth 2.0 返回的 access_tokens,但尽管以同一用户身份登录,但它们仍然不同。
我不明白为什么 Open ID 连接返回的 access_token 不起作用。