azure-active-directory - 使用自定义身份提供商注册的用户缺少用户名
问题描述
最近几个月,我们设法将现有的 Identity Server 3 与 AAD B2C 集成。它当然按照此说明注册为自定义身份提供者. 就身份验证本身而言,一切正常。我们现有数据库(位于 Identity Server 3 后面)中的所有用户都可以毫无问题地使用 AAD B2C 登录。正如您可以猜到的那样,一旦他们第一次登录,他们也将成为 Azure Active Directory(B2C 租户)用户。但是,我们最近还注意到,在我们的 AAD B2C 租户的用户列表中,没有一个具有正确的用户名和源值(见图)。有谁知道我们在 Identity Server 或 Azure AD B2C 端(或两者)可能缺少什么,以及不填充这些值的可能原因是什么?
解决方案
在 Azure AD B2C 目录中创建外部身份的用户对象(例如 IdentityServer 管理的身份)时,它的创建方式如下:
{
"accountEnabled": false,
"creationType": null,
...
"userIdentities": [
{
"issuer": "...",
"issuerUserId": "..."
}
]
}
其中UserIdentity对象设置如下:
- issuer属性设置为发布用户标识符的外部身份提供者的字符串表示形式,例如
https://myidentityserver3.azurewebsites.net/identity
. - issuerUserId属性设置为由外部身份提供者颁发的用户标识符的 Base64 表示。
在 Azure AD B2C 门户中打开“所有用户”菜单时,这些外部用户将在“用户名”列中列出,并在“源”列中显示“未知” 。
推荐阅读
- angular - 无法投影
s 到自定义组件中 - node.js - 显示特定帖子 ID 的聊天消息
- c# - 参考另一个模型的模型中的 MVC List<> 错误
- javascript - 从日期时间选择器到验证
- three.js - 使用 Three.js 将边缘线添加到 3D 对象
- c# - POST 请求期间未调用自定义 500 错误页面
- java - Prometheus 每天对特定 Spring 控制器端点的请求计数
- swiftui - 问题:如何从 SceneDelegate 调用 SwiftUI 视图结构方法
- c# - 没有注销身份验证处理程序已注册 asp.net 核心
- oauth-2.0 - GooglePlusAPI 返回错误“项目中未使用旧版人员 API”