Azure ad b2c 非自断言技术配置文件的Azure AD B2C验证配置文件

Azure ad b2c 非自断言技术配置文件的Azure AD B2C验证配置文件,azure-ad-b2c,Azure Ad B2c,从测试中可以看出,验证技术配置文件仅在添加到自关联技术配置文件时使用 例如: <TechnicalProfile Id="ExternalIDP"> <DisplayName>Some External IdP</DisplayName> <Protocol Name="OpenIdConnect" /> <Metadata> <!-- ... -->

从测试中可以看出,验证技术配置文件仅在添加到自关联技术配置文件时使用

例如:

    <TechnicalProfile Id="ExternalIDP">
      <DisplayName>Some External IdP</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <Metadata>
        <!-- ... -->
      </Metadata>
      <OutputClaims>
        <!-- ... -->
      </OutputClaims>
      <ValidationTechnicalProfiles>
        <ValidationTechnicalProfile ReferenceId="FETCH-MORE-CLAIMS" />
      </ValidationTechnicalProfiles>
    </TechnicalProfile>

一些外部国内流离失所者
在向外部身份提供程序进行身份验证后,似乎不会调用
FETCH-MORE-CLAIMS
配置文件


这是正确的吗?如果是,是否有另一种方法在调用特定的技术配置文件时总是强制调用第二个技术配置文件?

一种可能的方法是设置一个输出声明,指示该声明已完成,然后在该声明的条件下进行编排步骤,然后将您的TP作为索赔交换运行

因此,输出声明如下:

<OutputClaim ClaimTypeReferenceId="idp" DefaultValue="ThisIdp" AlwaysUseDefaultValue="true" />

如果尚未定义该声明,则需要定义该声明,或者可以使用已有的另一个声明

<OrchestrationStep Order="2" Type="ClaimsExchange">
  <Preconditions>
    <Precondition Type="ClaimEquals" ExecuteActionsIf="false"> 
      <Value>idp</Value>
      <Value>ThisIdp</Value>
      <Action>SkipThisOrchestrationStep</Action>
    </Precondition>
  </Preconditions>
  <ClaimsExchanges>
    <ClaimsExchange Id="FetchMoreClaimsExchange" TechnicalProfileReferenceId="FETCH-MORE-CLAIMS" />
  </ClaimsExchanges>
</OrchestrationStep>

国内流离失所者
这个IDP
SkipThisOrchestrationStep

如果idp!=ThisIdp,因此它仅在使用外部idp时才会运行。

一种可能的方法是设置一个输出声明,指示该声明已完成,然后在该声明上设置一个编排步骤,并在该声明上设置一个条件,然后将您的TP作为声明交换运行。Hi@juunas您应该添加上述注释作为答案。:)如果你这么说,克里斯;)嗨@juunas,这实际上是它现在的实现方式:)它可以工作,但我只是想知道是否还有其他方法,因为这仍然意味着每次需要身份提供者时都要复制两个编排步骤。嗨juunas:你能在这里说明一下吗?