gpt4 book ai didi

reactjs - Azure 身份验证 - 访问 token 返回错误 AUD(00000003-0000-0000-c000-000000000000)

转载 作者:行者123 更新时间:2023-12-02 23:35:08 27 4
gpt4 key购买 nike

我正在尝试通过 OAuth 使用 Azure 中的 API 管理进行身份验证。我已经把那部分设置得很好了。但是,从响应来看,访问 token 中的 aud(00000003-0000-0000-c000-000000000000) 无效。在 access_token 中获取准确的 aud 的任何建议/想法。

最佳答案

我尝试在我的环境中重现相同的结果,并得到如下结果:

我使用与您相同的aud生成了访问 token ,并收到了验证错误:

enter image description here

enter image description here

我同意 juunas 的观点,要通过 OAuth 向 Azure 中的 API 管理进行身份验证,请确保在生成访问 token 时传递范围

我创建了一个 Azure AD 应用程序,公开了一个 API 并添加了范围,如下所示:

enter image description here

添加了 API 权限,如下所示:

enter image description here

要解决该错误,请确保将范围作为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 的有效访问 token ,如下所示:

enter image description here

To pass the particular scope from react app using MSAL you can make refer the below sample code:

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 Cruz

Connect React App with Azure AD using react msal by Ray

关于reactjs - Azure 身份验证 - 访问 token 返回错误 AUD(00000003-0000-0000-c000-000000000000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74886417/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com