访问受Azure AD保护的API时获取401

时间:2020-10-20 12:24:29

标签: c# reactjs azure

当我访问托管在Azure中的自定义API(.NET Framework)时得到了401,并通过SPA Web应用程序(反应)受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应用程序中的

API权限 spa permissions

1 个答案:

答案 0 :(得分:0)

在我的情况下,问题是受保护的API资源中的发行者设置不正确。默认情况下,Azure将其设置为sts.microsoft.xyzabcdefgh ...,但在我的情况下,正确的颁发者是login.microsoft.com/ /v2.0(颁发者在解码的访问令牌中显示) 因此,我将访问令牌中的“ iss”值传递给Azure资源->我的API应用->配置-> authsettings->“发出者”:“”