Azure AD B2C:将用户注册来源同步至CRM档案
解决方案:Azure AD B2C用户注册来源同步至CRM
一、在Azure AD B2C中捕获注册来源信息
首先需要将用户的注册身份提供商(本地、谷歌、苹果)存储到用户属性中:
- 用户流方式:
- 在Azure AD B2C门户的用户流中,进入「用户属性」,创建自定义属性(如
identityProviderSource)。 - 切换到「应用程序属性」,勾选该自定义属性,确保注册流程完成后返回此属性值。
- 用户注册后,该属性会自动填充对应的身份提供商标识(本地为
localAccount,谷歌为google.com,苹果为apple.com)。
- 在Azure AD B2C门户的用户流中,进入「用户属性」,创建自定义属性(如
- 自定义策略方式:
- 在自定义策略的
ClaimsSchema中定义声明:<ClaimType Id="identityProvider"> <DisplayName>Identity Provider</DisplayName> <DataType>string</DataType> </ClaimType> - 在
SignUpOrSignIn的技术配置文件中,提取身份提供商声明,并写入扩展属性:<TechnicalProfile Id="AAD-UserWriteProfileUsingObjectId"> <OutputClaims> <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="extension_identityProviderSource" /> </OutputClaims> </TechnicalProfile>
- 在自定义策略的
二、同步至CRM的可行方案
方案1:Power Automate/Logic Apps 触发同步
- 触发条件:选择「当Azure AD用户创建或更新时」的触发器,筛选出B2C租户的用户。
- 动作步骤:
- 调用Graph API获取用户的
extension_identityProviderSource属性值。 - 调用CRM的Dataverse Web API,将该值写入对应用户记录的指定字段(如
new_identityprovidersource)。
- 调用Graph API获取用户的
方案2:Azure AD Connect 同步(适用于本地CRM)
- 在Azure AD Connect中,添加自定义属性映射:
- 将Azure AD中的
extension_identityProviderSource属性映射到CRM的目标字段。 - 配置同步规则,确保用户创建或更新时自动同步该属性。
- 将Azure AD中的
方案3:注册流程中直接调用CRM API
- 在自定义策略中添加REST API技术配置文件,在用户注册完成后触发:
<TechnicalProfile Id="REST-CreateCRMUser"> <DisplayName>Create CRM User</DisplayName> <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> <Metadata> <Item Key="ServiceUrl">https://your-crm-instance/api/data/v9.2/contacts</Item> <Item Key="AuthenticationType">Bearer</Item> <Item Key="SendClaimsIn">Body</Item> </Metadata> <InputClaims> <InputClaim ClaimTypeReferenceId="email" PartnerClaimType="emailaddress1" /> <InputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="new_identityprovidersource" /> </InputClaims> <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" /> </TechnicalProfile> - 将此技术配置文件添加到注册流程的
OrchestrationStep中,确保注册完成后立即调用CRM接口创建用户并传入来源信息。
三、验证步骤
- 创建测试用户:分别通过本地账号、谷歌、苹果完成注册。
- 检查Azure AD B2C用户属性,确认
extension_identityProviderSource字段值正确。 - 验证CRM中对应用户记录的目标字段是否同步到正确的来源标识。
内容的提问来源于stack exchange,提问作者Tech
相关产品推荐
相关产品推荐

