![](/img/trans.png)
[英]Include Azure AD B2C aud claim in call to custom claim REST API
[英]Azure AD B2C how to configure the "aud" claim
我是 Azure 生態系統的新手,我有點迷茫。
我使用 Azure AD B2C 來保護多個 Spring Boot 應用程序,但我有一個奇怪的行為,似乎一個令牌綁定到一個特定的應用程序,這不是很方便,因為這意味着我們必須管理多個令牌,每個應用程序一個。 在每個應用程序上我都有這樣的配置:
azure:
activedirectory:
b2c:
base-uri: https://<tenant>.b2clogin.com/
tenant-id: <tenant-id>
client-id: <client-id>
user-flows:
sign-up-or-sign-in: B2C_1_signin_signup
例如,我有一個用戶 UserA,它想要使用 ApplicationA、ApplicationC 和 ApplicationD。 UserA 依賴 ApplicationB(前端應用程序)使用grant_type=password
請求令牌。 當我使用授予的訪問令牌時,我只能使用一個應用程序。 如果我嘗試在另一個應用程序中使用相同的令牌,我會在應用程序日志中看到一條HTTP 401
消息:
The aud claim is not valid
問題是,當我們詢問令牌時,我們只能指定一個scope
, scope 值應該包含應該使用令牌的應用程序。
我的問題是:我們如何為多個資源服務器使用一個令牌? 如何配置 Azure AD B2C 添加aud
聲明中的所有應用程序,以便資源服務器識別令牌?
謝謝
請求的 scope 決定了可以在哪個 API 使用訪問令牌。 訪問令牌 aud 聲明將設置為相應 scope 的客戶端 ID。
您可以使用您在第一次身份驗證中獲取的刷新令牌來為不同的 scope 請求訪問令牌。
您作為刷新令牌調用的一部分請求的后續 scope 必須在您進行身份驗證的第一個應用程序(應用程序注冊)下被授予權限。 此時在初始身份驗證中請求哪個 scope 並不重要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.