繁体   English   中英

访问受 Azure AD 保护的 API 时出现 401

[英]Getting 401 when accessing API protected with Azure AD

我在访问 Azure 中托管的自定义 API (.NET Framework) 时收到 401,并使用来自 SPA Web 应用程序 (React) 的 Azure AD 进行保护。 access_token 似乎没问题,我可以在 jwt.io 中轻松解密它我使用本教程https://docs.microsoft.com/en-us/azure/app-service/tutorial-auth-aad? pivots=platform-windows#enable-authentication-and-authorization-for-back-end-app

我的两个应用程序(API 和 SPA)都启用了两个令牌的隐式授权。 有什么我想念的吗? 我可以授权用户,在 SPA 中获取他们的代币。 当我在 Azure 中禁用 Web api 的身份验证/授权时,一切正常。

SPA 应用程序spa 权限中的API权限

就我而言,问题是受保护 API 资源中的发行者设置不当。 默认情况下,Azure 会将它设置为 sts.microsoft.xyzabcdefgh...,但在我的情况下,正确的发行者是 login.microsoft.com/<tenant_id>/v2.0(发行者,因为它出现在解码的访问令牌中)所以我将访问令牌中的“iss”值传递给 Azure 资源 -> 我的 API 应用程序 -> 配置 -> authsettings -> "issuer": ""

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM