我正在尝试通过OAuth使用Azure中的API管理进行身份验证。我已将该部分设置为正确。但是,从响应来看,访问令牌中的aud(00000003-0000- 0000-c 000 - 00000000000)无效。在access_token中获取准确aud的任何建议/想法。
1cklez4t1#
我尝试在我的环境中重现相同的结果,结果如下:
我使用与您相同的**aud**生成了访问令牌,但出现了验证错误:
aud
我同意 * juunas *,要通过OAuth在Azure中使用API管理进行身份验证,请确保在生成访问令牌时传递作用域。我创建了Azure AD应用程序,公开了API并添加了作用域,如下所示:
添加了如下API权限:
要解决此错误,请确保将scope作为api://AppID/.default传递。
api://AppID/.default
https://login.microsoftonline.com/TenantID/oauth2/v2.0/token client_id:ClientID client_secret:ClientSecret scope:api://ee1782a6-a994-4013-a396-XXXXX/.default grant_type:client_credentials
将生成用于访问APIM的有效访问令牌,如下所示:
要使用MSAL传递react应用程序的特定作用域,您可以引用以下示例代码:
auth: { authority: "https://login.microsoftonline.com/common", clientId: "ClientID", postLogoutRedirectUri: RedirectURI redirectUri: RedirectURI validateAuthority: true, navigateToLoginRequestUrl: true, }, cache: { cacheLocation: 'sessionStorage', storeAuthStateInCookie: true, }, }, { scopes: ['api://clientid/.default'] }, LoginType.Redirect
OAuth 2.0 Authorisation with the Client Credentials Flow on Azure API Management by Paco de la CruzConnect React App with Azure AD using react msal by Ray
1条答案
按热度按时间1cklez4t1#
我尝试在我的环境中重现相同的结果,结果如下:
我使用与您相同的**
aud
**生成了访问令牌,但出现了验证错误:我同意 * juunas *,要通过OAuth在Azure中使用API管理进行身份验证,请确保在生成访问令牌时传递作用域。
我创建了Azure AD应用程序,公开了API并添加了作用域,如下所示:
添加了如下API权限:
要解决此错误,请确保将scope作为
api://AppID/.default
传递。将生成用于访问APIM的有效访问令牌,如下所示:
要使用MSAL传递react应用程序的特定作用域,您可以引用以下示例代码:
OAuth 2.0 Authorisation with the Client Credentials Flow on Azure API Management by Paco de la Cruz
Connect React App with Azure AD using react msal by Ray