ASP 核心 ADB2C 应用程序中缺少 OID 声明
OID Claim is missing in ASP Core ADB2C application
我有一个可用的 ASP.NET 核心 ADB2C 应用程序,它使用自定义策略,并配置为对本地 (ADB2C) 和 Google 帐户进行身份验证。
我最近注意到令牌中缺少 OID 声明
public Task OnTokenValidated(TokenValidatedContext context)
{
_onTokenValidated?.Invoke(context);
return Task.Run(async () =>
{
try
{
var claims = context.SecurityToken.Claims;
问题
当我使用用户流时,OID 声明肯定存在。现在我正在使用基于 github's active-directory-b2c-custom-policy-starterpack/SocialAndLocalAccounts/
的自定义策略
我知道有很多关于输入和输出声明以及转换的内容,但我真的是自定义策略的初学者,无法诊断缺少的内容...
在该默认自定义策略中,SignUpOrSignin.xml 包含:
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
这意味着对象 ID 在 "sub" 声明中。
如果您确实想要 oid 声明,您还可以像这样添加:
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="oid"/>
我有一个可用的 ASP.NET 核心 ADB2C 应用程序,它使用自定义策略,并配置为对本地 (ADB2C) 和 Google 帐户进行身份验证。
我最近注意到令牌中缺少 OID 声明
public Task OnTokenValidated(TokenValidatedContext context)
{
_onTokenValidated?.Invoke(context);
return Task.Run(async () =>
{
try
{
var claims = context.SecurityToken.Claims;
问题
当我使用用户流时,OID 声明肯定存在。现在我正在使用基于 github's active-directory-b2c-custom-policy-starterpack/SocialAndLocalAccounts/
的自定义策略我知道有很多关于输入和输出声明以及转换的内容,但我真的是自定义策略的初学者,无法诊断缺少的内容...
在该默认自定义策略中,SignUpOrSignin.xml 包含:
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
这意味着对象 ID 在 "sub" 声明中。 如果您确实想要 oid 声明,您还可以像这样添加:
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="oid"/>