![](/img/trans.png)
[英]Access token validation failure. Invalid audience, office 365 Graph API
[英]Microsoft Graph API: Access token validation failure. Invalid audience
我正在嘗試將我的應用程序從 Office 365 REST v2.0 遷移到 Microsoft Graph (v1.0)。 令牌交換似乎正在工作,但是一旦我嘗試調用 API,我就會收到以下錯誤:
(
[errorNumber] => 401
[error] => Request returned HTTP error 401
[message] => {
"error": {
"code": "InvalidAuthenticationToken",
"message": "Access token validation failure. Invalid audience.",
"innerError": {
"date": "2021-03-16T15:36:21",
"request-id": "dda1e33a-2774-4986-8c45-1487404fbb72",
"client-request-id": "e842d9a8-d71b-0563-f1ce-e58052e5bdb9"
}
}
}
)
access_token 具有以下受眾:
"aud": "https://outlook.office.com"
這是我正在使用的端點:
https://login.microsoftonline.com/common/oauth2/v2.0/token
有效載荷:
grant_type=authorization_code
&code=0.AR8A3XwQy0FAmkSxxxx
&redirect_uri=https%3A%2F%2Fxxx.com%2Fproxy%2Foffice365authorize
&client_id=e2147faf-87f0-4e7f-xxxx-xxxxxxxxxxx
&client_secret=xxxxxxxxxxxx
任何提示將不勝感激,謝謝!
這意味着您的令牌有錯誤的受眾,要調用 Micrsoft Graph API,您需要獲取 Microsoft Graph 的令牌,即訪問令牌需要"aud": "https://graph.microsoft.com"
。
看起來您正在使用AAD 身份驗證代碼流來獲取令牌,因此當您請求授權代碼時,請使用 scope 和https://graph.microsoft.com/.default
。
https://login.microsoftonline.com/common/oauth2/authorize?
client_id=xxxxx
&response_type=code
&redirect_uri=xxxxxx
&response_mode=query
&scope=https://graph.microsoft.com/.default
&state=12345
請求令牌時也使用scope=https://graph.microsoft.com/.default
。
POST https://login.microsoftonline.com/common/oauth2/v2.0/token
client_id=xxxxxx
&scope=https://graph.microsoft.com/.default
&code=0.AR8A3XwQy0FAmkSxxxx
&redirect_uri=xxxxxx
&grant_type=authorization_code
&client_secret=xxxxx
要成功調用 API,還要確保您已為您的客戶端應用程序授予正確的 Delegated Microsoft Graph API 權限取決於您要調用的 API 權限,例如,如果您想調用權限,請在此處List users
您需要的用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.