通过邮递员从 Azure 应用服务验证令牌返回 401
Posted
技术标签:
【中文标题】通过邮递员从 Azure 应用服务验证令牌返回 401【英文标题】:Validating token from Azure App Service through postman returns 401 【发布时间】:2020-05-06 16:01:19 【问题描述】:我已将我的应用程序与 Azure AD 身份验证集成。 虽然我可以通过相同的方式成功登录,但我想访问 AD 发送的响应声明,将我的应用程序从 AD 重定向到主页。
所以,我已关注 Microsoft Docs 以获取响应声明。 即,https://app-name.azurewebsites.net/.auth/me
当我从浏览器点击 url 时,我可以在回复中看到 access-token、id-token 等。
现在,为了验证我的 API URL,我必须在我的授权标头中传递访问令牌。 但是,我也想通过 Azure 服务验证传递的访问令牌(来自 API),方法是:
POST https://<appname>.azurewebsites.net/.auth/login/aad HTTP/1.1
Content-Type: application/json
"id_token":"<token>","access_token":"<token>"
我想先通过邮递员进行测试,但是,我得到 401 未授权。
【问题讨论】:
我假设您想验证您的 webapi 收到的令牌对吗?看看以下内容:***.com/a/39870281/1384539 尝试在 Postman 中添加不记名令牌。转到授权选项卡,从 type 下拉列表中选择 Bearer Token 并提供令牌。 @ThiagoCustodio 我已经浏览了链接,看起来它与我需要的不完全相同。我期待根据文档的解决方法:docs.microsoft.com/bs-cyrl-ba/azure/app-service/… @Michael 也试过了,同样的错误! 【参考方案1】:如果您使用aad
提供程序,只需在正文中传递"access_token":"<access_token>"
。
见here:
首先,登录https://app-name.azurewebsites.net/.auth/me
,复制id_token
(不是access_token
)。
然后在邮递员中,将id_token
复制到"access_token":"<access_token>"
。
【讨论】:
成功了!谢谢。它在 MS Docs 中有点模棱两可。 :)以上是关于通过邮递员从 Azure 应用服务验证令牌返回 401的主要内容,如果未能解决你的问题,请参考以下文章