簡體   English   中英

Azure AD B2C如何配置“aud”聲明

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM