首页 > 解决方案 > 尝试使用 Azure B2C 的自定义策略配置多租户登录时出现意外 issuerAssignedId

问题描述

我有一个现有的 IdentityServer4 安装,用于将 Google 和 Microsoft 等用户之间的用户联合为一个登录身份。在我的情况下,没有本地用户凭据/密码。只是与关联的外部提供者的身份。我正在尝试迁移到使用 Azure B2C,但遇到了一些障碍。

我发现,如果我使用配置 IdentityServer 的相同 ClientId 和 ClientSecret,那么在通过外部身份提供者登录时,我会为用户获得相同的 ID。这很棒,因为我需要它们相同,以便通过从现有 MSSQL 数据库中读取帐户并使用 MS Graph 导入 Azure B2C 来尝试迁移帐户。

我需要同时允许 Microsoft 工作帐户和个人帐户。所以我需要使用自定义策略来允许多租户配置,因为内置提供程序不支持这一点。然而,一旦我将我的实现从内置的用户流和提供程序转变为使用自定义策略,我就不再得到预期的结果issuerAssignedId了。最初,ID 看起来像AAAAAAAAAAAAAAAAAAAAAHGFdaj94jfdsgjifdh4ngd(编造的,但你明白了)。现在有了自定义策略,issuerAssignedId被记录在 B2C 用户中看起来像一个 GUID。所以不仅仅是一个不同的值,而是一个完全不同的格式。我在这里错过了什么吗?如果有人安装了具有内置功能的完全可操作的 AzureB2C,但后来发现需要迁移到自定义策略,会发生什么情况。用户如何能够通过外部身份提供者查看他们现有的帐户?

TechnicalProfile的多租户标志基本上是从他们的文档中复制/粘贴的,所以我不确定这里的交易是什么?

标签: identityserver4azure-ad-b2cazure-ad-b2c-custom-policyidentity-experience-framework

解决方案


推荐阅读