gpt4 book ai didi

Azure AD B2C 如何配置 "aud"声明

转载 作者:行者123 更新时间:2023-12-03 02:14:03 24 4
gpt4 key购买 nike

我是 Azure 生态系统的新手,我有点迷失。

我使用 Azure AD B2C 来保护多个 Spring Boot 应用程序,但我有一个奇怪的行为,似乎一个 token 绑定(bind)到一个特定的应用程序,这并不是很方便,因为这意味着我们必须管理多个 token ,一个每个应用程序。在每个应用程序上我都有这样的配置:

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 请求 token 。当我使用授予的访问 token 时,我只能使用一个应用程序。如果我尝试在另一个应用程序中使用相同的 token ,则会出现 HTTP 401,并在应用程序日志中显示以下消息:

The aud claim is not valid

问题是,当我们请求 token 时,我们只能指定一个范围,范围值应包含应使用该 token 的应用程序。

我的问题是:如何将一个 token 用于多个资源服务器?如何配置 Azure AD B2C 以添加 aud 声明中的所有应用程序,以便资源服务器能够识别 token ?

谢谢

最佳答案

请求的范围决定了访问 token 可以用于哪个 API。访问 token aud 声明将设置为相应范围的客户端 ID。

您可以使用在第一次身份验证中获取的刷新 token 来请求不同范围的访问 token 。

您在刷新 token 调用中请求的后续范围必须作为您经过身份验证的第一个应用程序(应用程序注册)下的权限授予。此时在初始身份验证中请求哪个范围并不重要。

关于Azure AD B2C 如何配置 "aud"声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72115668/

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