【发布时间】:2020-04-17 15:20:46
【问题描述】:
我是 OpenId Connect 身份验证和 graph.microsoft.com 的新手,在获取用户照片时遇到问题。
我有一个使用 ASP.NET Web 窗体构建的网站,并且正在将 Microsoft 身份验证替换为 OpenId,因为它已被弃用。
所以,我在 Azure 门户中添加了一个应用程序,并且身份验证工作正常。我已经设法从身份验证中获取访问令牌,但正在努力使用 graph.microsoft.com 获取用户的照片。
Azure 上的应用拥有 User.Read 权限(Delegated 权限)。
我已将标头设置为包含 Authorization 和 Bearer [access_token] 作为键和值,GET 请求为 https://graph.microsoft.com/v1.0/users/suencien@hotmail.com/photo/$value
suencien@hotmail.com 是经过身份验证的电子邮件地址。
我得到的回应是:
{
"error": {
"code": "UnableToReadToken",
"message": "OAuth token submitted with the request can not be parsed.",
"innerError": {
"request-id": "880a2e95-5e47-4b74-9ff5-c5f4e9a9feed",
"date": "2020-04-16T10:47:11"
}
}
}
我怀疑它不是有效的访问令牌,或者我错过了 Azure 中的某个设置,或者它根本不受支持?
从 OpenID Connect 调回的 access_token 是
eyJ0eXAiOiJKV1QiLCJub25jZSI6ImhGR252WFNUSjlKcXRDWDgtTUNOclkzZDFWdzN3cDJlSFdBX2ZoN2tzeXMiLCJhbGciOiJSUzI1NiIsIng1dCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSIsImtpZCI6IllNRUxIVDBndmIwbXhvU0RvWWZvbWpxZmpZVSJ9.eyJhdWQiOiJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC85MTg4MDQwZC02YzY3LTRjNWItYjExMi0zNmEzMDRiNjZkYWQvIiwiaWF0IjoxNTg3MDk5MjczLCJuYmYiOjE1ODcwOTkyNzMsImV4cCI6MTU4NzEwMzE3MywiYWlvIjoiNDJkZ1lOakRaenR0QWdmTE9hVXQ1eHdQcmQvTkJBQT0iLCJhcHBfZGlzcGxheW5hbWUiOiJpTHV2UnVuIiwiYXBwaWQiOiI3MDY1YmFlMS00NTA1LTQ1YzMtYjFkNS1lMDAwNGNiMmE2YmYiLCJhcHBpZGFjciI6IjEiLCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC85MTg4MDQwZC02YzY3LTRjNWItYjExMi0zNmEzMDRiNjZkYWQvIiwidGlkIjoiOTE4ODA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkIiwidXRpIjoiaTVyTnA4VWZWRS1DckRDWkk1OFRBQSIsInZlciI6IjEuMCIsInhtc190Y2R0IjoxNDMxNjQxNDk4fQ.Y7lgr0b7Z286Sh3xv8_KQ-_cGYPnzHES0a3871FWNPSoTu1GDSuLj6ItV-jp9959gumKGHEnYDqBC1GsQnv5xq8er6hqT3PCiVQu8-1FE5u54HkTcFayPrg9n4db2mhCTflJr_q5wSKkKBAOF0d7q55-pskNLjBuN-LVF guIRDgp-IBFFfPzptk6SFvj_pkjk4dAVFyNvijcpGkIZ_43DW2Si1IeU_7ek-D9K9wr_PBj_hqKJrOc0lgYcrq0TsuM55F1-MOVjpWmsvU46BM0L7ESSBOIkbpcBkD7fOroW3DjgvHs6xUhEc-xjqNcFvkdw1HUr76MHzOTy6gUlXKheg
有人可以帮助我或指导我走向正确的道路吗? :)
【问题讨论】:
-
首先,访问令牌中似乎没有权限。您可以在jwt.ms 中对其进行解码。但是错误消息与权限无关。这意味着您的访问令牌未正确放入标头中。此外,我注意到您正在使用 Microsoft Graph 来查询个人帐户的照片。目前不支持。见docs.microsoft.com/en-us/graph/api/…。
-
访问令牌已经在头部。是的,我也读过。所以当时不支持。非常感谢您的帮助:)
-
如果您不介意,我会发布关于我们上面讨论的信息的答案。您可以接受它作为答案(单击答案旁边的复选标记以将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢。