Azure AD B2B能否使用邮箱地址作为UPN替代.onmicrosoft.com域名?
Azure AD B2B 外部邮箱作为登录标识的实现说明
Azure AD B2B 协作账号的UPN生成逻辑与Azure AD B2C本地账号完全独立,目前原生不支持直接将外部邮箱地址设置为账号UPN,默认生成的UPN会自动携带你的租户
.onmicrosoft.com后缀,这是B2B账号体系的固有设计,因此B2C场景下的自定义UPN方案无法直接在B2B租户中生效。
接下来提供两种可实现同等使用效果的方案:
方案1:直接使用外部邮箱作为登录凭证(无需修改UPN)
- 无论你通过Azure门户还是Graph API创建B2B用户,受邀用户完成身份验证后,默认就可以直接使用自己的原始外部邮箱(如
User1@gmail.com)登录你租户下的所有授权资源,不需要记忆系统自动生成的带.onmicrosoft.com后缀的UPN,该能力为B2B默认支持,无需额外配置。 - 如果你创建的是B2B成员类型账号(非邀请类外部用户),只需要在创建时将
mail属性设置为用户的真实邮箱,同时配置邮箱作为登录别名,即可实现用邮箱直接登录的效果。
方案2:Graph API 创建B2B用户的参数配置
如果你需要统一用户身份标识的录入规则,可以调用Microsoft Graph 邀请接口创建用户,请求示例如下:
POST https://graph.microsoft.com/v1.0/invitations Content-Type: application/json
请求体:
{ "invitedUserEmailAddress": "User1@gmail.com", "inviteRedirectUrl": "https://你配置的应用跳转地址", "sendInvitationMessage": true, "invitedUser": { "displayName": "用户1", "mail": "User1@gmail.com" } }
- 该方式创建的用户,系统自动生成的UPN仍然为
user1_gmail.com#EXT#@你的租户域名.onmicrosoft.com格式,但用户全程使用原始邮箱即可完成所有登录、鉴权操作,完全不需要用到生成的UPN。
内容的提问来源于stack exchange,提问作者Karikalan
相关产品推荐
相关产品推荐

