You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASPNETCORE Azure AD B2C SPA登录弹窗显示错误邮箱的问题求助

解决Azure AD B2C登录弹窗显示@GUID而非正确UPN的问题

检查用户流/自定义策略的属性映射

  • 如果使用内置用户流:
    1. 进入Azure AD B2C门户,找到对应登录/注册用户流
    2. 进入「用户属性」页面,确认已勾选「用户主体名称(UPN)」作为需收集或返回的属性
    3. 进入「应用程序声明」页面,确保「用户主体名称」已添加为要返回给应用的声明
  • 如果使用自定义策略:
    1. 在信任框架扩展文件中,确认<ClaimsSchema>里已定义upn声明:
      <ClaimType Id="upn">
        <DisplayName>User Principal Name</DisplayName>
        <DataType>string</DataType>
        <UserHelpText>Your user principal name (UPN)</UserHelpText>
      </ClaimType>
      
    2. 检查<OutputClaims>配置,确保从身份提供者返回的UPN属性正确映射到B2C的upn声明,示例:
      <OutputClaim ClaimTypeReferenceId="upn" PartnerClaimType="upn" />
      

验证用户对象的UPN属性

  • 进入Azure AD B2C的「用户」界面,定位出现问题的用户,查看其「用户主体名称」字段是否为合法UPN格式(如user@domain.com)
  • 若用户UPN未正确设置,可手动编辑用户信息修改UPN,或在注册流中强制关联邮箱作为UPN

调整登录页面的显示逻辑

  • 若使用自定义登录UI:
    1. 检查UI模板中渲染用户信息的代码,确认调用的是upn声明属性,而非自动生成的标识属性
    2. 确保从B2C返回的令牌中正确提取upn值并渲染

检查外部身份提供者的属性返回

  • 若依赖外部身份提供者(如Azure AD):
    1. 确认身份提供者的应用注册中,已配置返回upn属性(如添加profile或upn范围)
    2. 验证身份提供者返回的令牌中包含正确的upn值

内容的提问来源于stack exchange,提问作者Babu James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 04:30:03