共用方式為


Azure Active Directory B2C 全域身分識別架構概念證明,適用于漏斗型設定

下一節說明如何建立漏斗圖型協調流程的概念證明實作。 您可以 在這裡找到已完成的 Azure Active Directory B2C (Azure AD B2C) 自訂原則。

漏斗圖型方法

下列區塊圖顯示概念證明。 本指南將示範如何設定 Azure AD B2C 租使用者。 本指南不包含外部 API 層和異地分散式查閱表格。

顯示漏斗圖方法區塊圖的螢幕擷取畫面。

漏斗圖租使用者

  1. 建立租使用者。

  2. 設定每個 Azure AD B2C 租使用者/原則組合的同盟

  3. 設定與區域的client_id對應 – 使用 查閱宣告轉換 來模擬。

    <ClaimsTransformation Id="ClientIdToRegion" TransformationMethod="LookupValue">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="regionFromURL" TransformationClaimType="inputParameterId" />
      </InputClaims>
      <InputParameters>
        <InputParameter Id="0dd7579e-fb90-4178-bc36-77a3fe658683" DataType="string" Value="APAC" />
        <InputParameter Id="7e7f5403-b3d7-41cc-85fc-130ab6fd9361" DataType="string" Value="NOAM" />
        <InputParameter Id="4ea5d578-9c51-4091-96d1-58e15e98e9b9" DataType="string" Value="EMEA" />
        <InputParameter Id="errorOnFailedLookup" DataType="boolean" Value="false" />
      </InputParameters>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="sendToRegion" TransformationClaimType="outputClaim" />
      </OutputClaims>
    </ClaimsTransformation>
    
  4. 根據client_id – 區域對應來設定要啟用的同盟。

    <TechnicalProfile Id="HRDLogic">
      <DisplayName>ParseDomainHint</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.ClaimsTransformationProtocolProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      <Metadata>
        <Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
      </Metadata>
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="regionFromURL" DefaultValue="{OIDC:ClientId}" AlwaysUseDefaultValue="true" />
      </InputClaims>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="sendToRegion" />
        <OutputClaim ClaimTypeReferenceId="identityProviders" />
      </OutputClaims>
      <OutputClaimsTransformations>
        <OutputClaimsTransformation ReferenceId="ClientIdToRegion" />
        <OutputClaimsTransformation ReferenceId="CreateidentityProvidersCollection" />
      </OutputClaimsTransformations>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
    </TechnicalProfile>
    

區域租使用者

  1. 建立租使用者。

  2. 建立應用程式註冊 ,以建立與漏斗租使用者的同盟。

登入

  1. 透過全域查閱表格設定區域查閱的識別碼,請使用 查閱宣告轉換 來模擬。

    <ClaimsTransformation Id="UserIdToRegion" TransformationMethod="LookupValue">
      <InputClaims>
        <InputClaim ClaimTypeReferenceId="signInName" TransformationClaimType="inputParameterId" />
      </InputClaims>
      <InputParameters>
        <InputParameter Id="bob@noam.com" DataType="string" Value="NOAM" />
        <InputParameter Id="bob@noam1.com" DataType="string" Value="NOAM" />
        <InputParameter Id="john@emea.com" DataType="string" Value="EMEA" />
        <InputParameter Id="john@emea1.com" DataType="string" Value="EMEA" />
        <InputParameter Id="alice@apac.com" DataType="string" Value="APAC" />
        <InputParameter Id="alice@apac1.com" DataType="string" Value="APAC" />
        <InputParameter Id="errorOnFailedLookup" DataType="boolean" Value="false" />
      </InputParameters>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="userLookupRegion" TransformationClaimType="outputClaim" />
      </OutputClaims>
    </ClaimsTransformation>
    
  2. 設定用於旅遊使用者的 API 型驗證,以及 MS 圖形 API呼叫來擷取使用者設定檔。

    1. 檢查認證,並從個別租使用者取得 MS 圖形 API 權杖。 在每個區域租使用者中註冊原生應用程式註冊,並具有 MS 圖形 API委派許可權的許可權:user.read

      <TechnicalProfile Id="REST-login-NonInteractive-APAC">
        <DisplayName>non interactive authentication to APAC</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://login.microsoftonline.com/b2capac.onmicrosoft.com/oauth2/v2.0/token</Item>
          <Item Key="AuthenticationType">None</Item>
          <Item Key="SendClaimsIn">Form</Item>
          <Item Key="AllowInsecureAuthInProduction">true</Item>
        </Metadata>
        <InputClaims>
          <InputClaim ClaimTypeReferenceId="apac_client_id" PartnerClaimType="client_id" DefaultValue="00001111-aaaa-2222-bbbb-3333cccc4444" />
          <InputClaim ClaimTypeReferenceId="ropc_grant_type" PartnerClaimType="grant_type" DefaultValue="password" />
          <InputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="username" />
          <InputClaim ClaimTypeReferenceId="password" />
          <InputClaim ClaimTypeReferenceId="scope" DefaultValue="https://graph.microsoft.com/.default" AlwaysUseDefaultValue="true" />
          <InputClaim ClaimTypeReferenceId="nca" PartnerClaimType="nca" DefaultValue="1" />
        </InputClaims>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="bearerToken" PartnerClaimType="access_token" />
        </OutputClaims>
        <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
      </TechnicalProfile>
      
    2. 透過 MS 圖形 API 讀取設定檔以供旅遊使用者使用。

      <TechnicalProfile Id="Azure AD-Read-User-MSGraph">
        <DisplayName>revoke my refresh token</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://graph.microsoft.com/beta/me</Item>
          <Item Key="AuthenticationType">Bearer</Item>
          <Item Key="UseClaimAsBearerToken">bearerToken</Item>
          <Item Key="SendClaimsIn">Url</Item>
          <Item Key="DebugMode">true</Item>
        </Metadata>
        <InputClaims>
          <InputClaim ClaimTypeReferenceId="bearerToken" />
        </InputClaims>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="id" />
          <OutputClaim ClaimTypeReferenceId="givenName" />
          <OutputClaim ClaimTypeReferenceId="surName" />
          <OutputClaim ClaimTypeReferenceId="displayName" />
          <OutputClaim ClaimTypeReferenceId="userPrincipalName" PartnerClaimType="upn" />
          <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="localAccountAuthentication" />
        </OutputClaims>
        <UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
      </TechnicalProfile>
      

註冊

將使用者區域寫入全域查閱表格。

注意

由於硬式編碼的查閱表格,因此沒有設定。

密碼重設

  1. 透過全域查閱表格設定區域查閱識別碼。

    注意

    由於硬式編碼的查閱表格,因此沒有設定。

  2. 透過 REST API 呼叫設定跨租使用者密碼重設。

    注意

    需要使用套用至服務主體client_credential驗證和使用者管理員角色來代理 API。

下一步