我們正在使用以下檔案為我們的 Teams 應用程式啟用 SSO: https ://learn.microsoft.com/en-us/microsoftteams/platform/tabs/how-to/authentication/tab-sso-graph-api?tabs=nodejs #configure-code-to-fetch-access-token-using-msal
這是用于使用 MSAL 獲取令牌的代碼:
msalClient.acquireTokenOnBehalfOf({
authority: `https://login.microsoftonline.com/${tid}`,
oboAssertion: token,
scopes: scopes,
skipCache: true
})
當我們嘗試通過傳遞tenantId或common授權獲取令牌時,由于本地和開發環境中的 CORS 問題,令牌 API 失敗。
從 origin *** 訪問“https://login.microsoftonline.com/common/oauth2/v2.0/token”中的 XMLHttpRequest 已被 CORS 策略阻止
我們在注冊時在 expose API 中添加了域名。
是否需要任何其他配置來允許來自其他定義的來源(localhost和其他域)的請求?
uj5u.com熱心網友回復:
聽起來您正在使用客戶端代碼來獲取此令牌 - 如果是這樣,非常重要的是,您誤解了它的作業原理。“OnBehalfOf”令牌呼叫只能從后端服務器進行,??在這種情況下,CORS 將不適用。有用于此的“javascript”代碼,因為您可能有一個基于節點的后端,而不是因為您打算在瀏覽器中使用它。
您需要從前端代碼進行的唯一呼叫是
microsoftTeams.authentication.getAuthToken()
這是我之前給出的更詳細的答案 - 請查看并查看我在其中鏈接的優秀視頻和博客文章:Problem with getting SSO Auth token from Microsoft Teams
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/533840.html
