繁体   English   中英

ASP Core 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 的 active-directory-b2c-custom-policy-starterpack/SocialAndLocalAccounts/

我知道有很多输入和 output 声明和转换的东西,但我真的是自定义策略的初学者来诊断缺少的东西......

在该默认自定义策略中,SignUpOrSignin.xml 包含以下内容:

<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>

这意味着 object id 在“子”声明中。 如果您确实想要 oid 声明,您还可以像这样添加:

<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="oid"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM