首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以根据signUp中选择的IDP显示属性?

是否可以根据signUp中选择的IDP显示属性?
EN

Stack Overflow用户
提问于 2018-04-03 16:57:25
回答 1查看 54关注 0票数 0

我们已经将Facebook、LinkedIn、Twitter、Google和AzureAD配置为使用自定义注册/登录策略的提供商。

当用户使用社交Idp(Facebook、LinkedIn、Twitter、Google)注册时,我们有一个要求商业邮件的要求,而不是当Azure选择时(因为他们已经在使用他们的商业电子邮件)。

我在本节中添加了新的属性,

代码语言:javascript
复制
<TechnicalProfile Id="SelfAsserted-Social">

请建议一下。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-04 11:05:49

首先,您必须确定企业帐户或社会帐户是否已登录。

例如:

代码语言:javascript
复制
<TechnicalProfile Id="ContosoProfile">
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="contosoAuthentication" />
  </OutputClaims>
</TechnicalProfile>

以及:

代码语言:javascript
复制
<TechnicalProfile Id="Facebook-OAUTH">
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
  </OutputClaims>
</TechnicalProfile>

其次,您必须为帐户注册创建两个技术概要:一个用于企业帐户注册的技术概要(不包括商业电子邮件)和另一个用于包括它的社会帐户注册的技术配置文件。

例如:

代码语言:javascript
复制
<ClaimsProvider>
  <DisplayName>Self Asserted</DisplayName>
  <TechnicalProfiles>
    <TechnicalProfile Id="SelfAsserted-Enterprise">
      ...
    </TechnicalProfile>
    <TechnicalProfile Id="SelfAsserted-Social">
      ...
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>

第三,基于authenticationSource声明,您必须调用一个或另一个技术概要。

例如:

代码语言:javascript
复制
<UserJourney Id="SignUpOrSignIn">
  <OrchestrationSteps>
    <OrchestrationStep Order="4" Type="ClaimsExchange">
      <Preconditions>
        <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
          <Value>objectId</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>authenticationSource</Value>
          <Value>socialIdpAuthentication</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
      </Preconditions>
      <ClaimsExchanges>
        <ClaimsExchange Id="SelfAsserted-Enterprise" TechnicalProfileReferenceId="SelfAsserted-Enterprise" />
      </ClaimsExchanges>
    </OrchestrationStep>
    <OrchestrationStep Order="5" Type="ClaimsExchange">
      <Preconditions>
        <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
          <Value>objectId</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
          <Value>authenticationSource</Value>
          <Value>contosoAuthentication</Value>
          <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
      </Preconditions>
      <ClaimsExchanges>
        <ClaimsExchange Id="SelfAsserted-Social" TechnicalProfileReferenceId="SelfAsserted-Social" />
      </ClaimsExchanges>
    </OrchestrationStep>
  </OrchestrationSteps>
</UserJourney>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49635449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档