Jwt 加上额外的「;澳元;Azure ADB2C代币条目

Jwt 加上额外的「;澳元;Azure ADB2C代币条目,jwt,azure-ad-b2c,Jwt,Azure Ad B2c,我在Azure ADB2C中使用自定义策略来验证和授权用户访问我的API后端。这个很好用 现在,我想在Azure ADB2C jwt令牌中添加一个额外的“aud”条目,这样我就可以将相同的令牌用于期望出现此aud条目的不同服务 现在Azure ADB2C用创建它的应用程序ID填充“aud”字段 有没有办法在Azure ADB2C的“aud”字段中添加一个静态条目?根据您的描述,我认为您希望使用相同的令牌访问多个服务(如果我的理解有误,请纠正我)。不幸的是,你不能这样做 一个令牌只能对应一个范围。

我在Azure ADB2C中使用自定义策略来验证和授权用户访问我的API后端。这个很好用

现在,我想在Azure ADB2C jwt令牌中添加一个额外的“aud”条目,这样我就可以将相同的令牌用于期望出现此aud条目的不同服务

现在Azure ADB2C用创建它的应用程序ID填充“aud”字段


有没有办法在Azure ADB2C的“aud”字段中添加一个静态条目?

根据您的描述,我认为您希望使用相同的令牌访问多个服务(如果我的理解有误,请纠正我)。不幸的是,你不能这样做

一个令牌只能对应一个
范围
。访问令牌是根据您想要访问的密钥颁发的,并且是唯一的!一个令牌只能有一个
访问群体
,并且不能使用多个作用域来请求访问令牌。如果需要访问其他服务,则应分别为每个服务获取令牌


更新

您可以将同一类型的多个API放在范围中,因为它们本质上仍然是同一类型的。但是,为两种不同类型的API请求相同的访问令牌是不可接受的

测试1:

测试2:


你的意思是希望同一令牌访问多个服务吗?@CarlZhao:是的,我想使用同一令牌访问多个服务。不确定我是否理解正确,但从你发送的链接:“scp”:“客户端应用程序已请求(并收到)的应用程序公开的作用域集”同意。你的应用程序应该验证这些作用域是否是你的应用程序公开的有效作用域,并根据这些作用域的值做出授权决定。“我从中了解到,可以定义多个作用域。“scp”的类型是“字符串,一个以空格分隔的作用域列表”。所以我想这说明了一个令牌中可以有多个作用域。@Copiltembel这与您的api类型有关。如果使用相同的api,则可以放置多个作用域。例如,如果使用
ms-graph-api
,则可以将
https://graph.microsoft.com/user.read
https://graph.microsoft.com/Policy.Read.All
。。。在范围内,但本质上仍然是相同的api。不,我使用的是不同的api。你是说Azure ADB2C或任何jwt提供商都不可能做到这一点吗?关于这个主题有一些有趣的文章:@Copiltembel,但是,如果将不同种类的api放入同一范围,它将只按顺序获取第一个api的令牌,也就是说,访问令牌的
aud
声明将只有一个api,即第一个api。