【发布时间】:2018-11-05 14:39:43
【问题描述】:
我们的客户想要更改我们 b2c 租户上的 Facebook 应用程序。我更新了自定义策略,但是当用户使用已在我们租户中注册的 Facebook 帐户登录时,它会在 b2c 上创建一个新的对象 ID。 有没有办法在我的自定义策略上更新 de facebook 应用程序(客户端 ID 和密码)并避免 Facebook 用户在我的租户上生成新的对象 ID?
【问题讨论】:
标签: facebook azure-ad-b2c
我们的客户想要更改我们 b2c 租户上的 Facebook 应用程序。我更新了自定义策略,但是当用户使用已在我们租户中注册的 Facebook 帐户登录时,它会在 b2c 上创建一个新的对象 ID。 有没有办法在我的自定义策略上更新 de facebook 应用程序(客户端 ID 和密码)并避免 Facebook 用户在我的租户上生成新的对象 ID?
【问题讨论】:
标签: facebook azure-ad-b2c
在您更新的 Facebook-OAUTH TechnicalProfile 中,您是否碰巧为 identityProvider OutputClaim 使用了不同的 DefaultValue?如果该值不同,则为 Facebook 用户生成的 alternativeSecurityId 声明也将不同,从而产生一个新的目录用户。
如果您遵循 CreateAlternativeSecurityId 输出声明转换的逻辑,您将最终使用 CreateAlternativeSecurityId TransformationMethod 构建alternativeSecurityId 声明,所以你会得到这样的东西。
{ "issuer": "facebook.com", "issuerUserId": "MTA4MTQ2MDgyOTI3MDUyNTYzMjcw"}
稍后在您的 SignUpOrSignIn UserJourney 中使用该 alternativeSecurityId 声明从目录中读取现有用户。如果找不到具有相同生成的 AlternativeSecurityId 的用户,它将写入具有该 ID 的新用户。
如果为您的 Facebook 用户查询 AAD Graph API,您应该会看到他们对 userIdentities property 具有不同的值(不同的颁发者),其中存储了来自 B2C 的 AlternativeSecurityId 声明集合为用户。
【讨论】: