使用自定义身份提供商注册的用户缺少用户名

时间:2018-08-13 22:12:35

标签: azure-active-directory azure-ad-b2c identityserver3

最近几个月,我们设法将现有的Identity Server 3与AAD B2C集成在一起。当然,可以按照this instructions注册为自定义身份提供者。对于身份验证本身,一切正常。现有数据库(位于Identity Server 3之后)的所有用户都可以使用AAD B2C登录,而不会出现任何问题。正如您所猜到的那样,所有用户在首次登录后也将成为Azure Active Directory(B2C租户)用户。 但是,我们最近才注意到AAD B2C租户的用户列表中没有一个具有正确的“用户名”和“源”值(参见图片)。 是否有人知道我们在Identity Server或Azure AD B2C方面(或同时在这两者上)可能缺少什么,以及可能是为什么不填充这些值的可能原因?

enter image description here

1 个答案:

答案 0 :(得分:1)

在Azure AD B2C目录中创建用于外部身份(例如IdentityServer管理的身份)的 User 对象时,其创建过程如下:

{
    "accountEnabled": false,
    "creationType": null,
    ...
    "userIdentities": [
        {
            "issuer": "...",
            "issuerUserId": "..."
        }
    ]
}

UserIdentity 对象的设置如下:

  • 发出者属性设置为发布用户标识符的外部身份提供者的字符串表示形式,例如https://myidentityserver3.azurewebsites.net/identity
  • issuerUserId 属性设置为由外部身份提供商提供的用户标识符的Base64表示形式。

在Azure AD B2C门户中打开所有用户菜单时,这些外部用户将在用户名中以 issuer 值列出。 strong>列,而 Source 列中为“未知”。