共用方式為


教學課程:使用 Azure Active Directory B2C 設定 ID以 MOBILE ID

開始之前

Azure Active Directory B2C (Azure AD B2C) 有兩種方法可定義使用者與應用程式的互動:預先定義的使用者流程或可設定的自訂原則。 請參閱使用者 流程和自訂原則概觀

整合 Azure AD B2C 與ID行動裝置識別碼

ID LIBRARY 提供生物特徵辨識驗證服務,例如臉部識別碼和指紋,以減少詐騙和認證重複使用。 使用行動識別碼,公民可受益于受信任的政府核發數位識別碼,作為其實體識別碼的補充專案。 行動裝置識別碼會使用自我選取的 PIN、觸控識別碼或臉部識別碼來驗證身分識別。 公民藉由共用交易所需的資訊來控制其身分識別。 許多州省的汽車 (DMV) 使用行動識別碼。

若要深入瞭解,請移至 idemia.com: IDTIME

案例描述

行動識別碼整合包含下列元件:

  • Azure AD B2C – 驗證使用者認證的授權伺服器
    • 它也稱為識別提供者 (IdP)
  • ID 行動裝置識別碼 - OpenID Connect (OIDC) 提供者設定為 Azure AD B2C 外部提供者
  • ID中行動識別碼應用程式 - 手機上應用程式中的驅動程式授權或狀態核發識別碼的數位版本

行動識別碼是數位識別檔,這是 DMV 用來驗證個別身分識別的可攜式行動身分識別權杖。 簽署的數位板識別碼會儲存在使用者行動電話上,作為邊緣上的身分識別。 簽署的認證可讓您輕鬆存取身分識別服務,例如年齡證明、財務知道您的客戶、帳戶存取等。

下圖說明使用行動識別碼註冊和登入使用者流程。

使用行動識別碼註冊和登入使用者流程的圖表。

  1. 使用者造訪 Azure AD B2C 登入頁面, (回復者) 及其裝置和行動裝置識別碼來進行交易。
  2. Azure AD B2C 會執行識別碼檢查。 它會使用 OIDC 授權碼流程,將使用者重新導向至 IDOIDC 路由器。
  3. 路由器會使用驗證和授權要求詳細資料,將生物特徵辨識挑戰傳送給使用者的行動應用程式。
  4. 視安全性而定,系統可能會提示使用者提供更多詳細資料:輸入 PIN、取得即時自我或兩者。
  5. 驗證回應會提供擁有權、存在和同意的證明。 回應會傳回路由器。
  6. 路由器會驗證使用者資訊,並回復結果為 Azure AD B2C。
  7. 使用者被授與或拒絕存取。

啟用行動識別碼

若要開始使用,請移至 [idemia.com 連絡 頁面以要求示範。 在 [要求表單文字] 欄位中,指出您對 Azure AD B2C 整合感興趣。

整合行動識別碼與 Azure AD B2C

使用下列各節來準備和執行整合程式。

必要條件

若要開始,您需要:

  • 存取具有 IDTW 的使用者,美國州發行的行動識別碼認證 (mID)

    • 或者,在測試階段期間,來自 ID一的 mID 示範應用程式
  • Azure 訂用帳戶

  • 連結至 Azure 訂用帳戶的Azure AD B2C 租使用者

  • 在 Azure AD B2C 租使用者中註冊的商務 Web 應用程式

    • 若要進行測試,請設定 https://jwt.ms Microsoft Web 應用程式,其中包含已解碼的權杖內容

    注意

    權杖內容不會離開瀏覽器。

提交 mID 的信賴憑證者應用程式

在行動識別碼整合期間,會提供下列資訊。

屬性 描述
應用程式名稱 Azure AD B2C 或其他應用程式名稱
Client_ID 來自識別提供者的唯一識別碼 (IdP)
用戶端密碼 信賴憑證者應用程式用來向ID IDP 進行驗證的密碼
中繼資料端點 指向權杖簽發者設定檔的 URL,也稱為 OpenID 已知組態端點
重新導向 URI https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
例如, https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp

如果您使用自訂網域,則請輸入 https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp
登出重新導向 URI 後 https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout
傳送登出要求。

注意

您稍後需要用戶端識別碼和用戶端密碼,才能在 Azure AD B2C 中設定 IdP。

建立原則金鑰

在 Azure AD B2C 租使用者中儲存已記下 IDTREE 用戶端密碼。 如需下列指示,請使用 目錄搭配您的 Azure AD B2C 租使用者。

  1. 登入 Azure 入口網站
  2. 在入口網站工具列中,選取 [目錄 + 訂用帳戶]。
  3. 在 [ 入口網站設定] 的 [目錄 + 訂用帳戶 ] 頁面上,于 [目錄名稱 ] 清單中尋找您的 Azure AD B2C 目錄
  4. 選取 [切換]。
  5. 在Azure 入口網站左上角,選取[所有服務]。
  6. 搜尋並選取 [Azure AD B2C]。
  7. 在 [概觀] 頁面上,選取 [Identity Experience Framework]。
  8. 選取 [ 原則金鑰]。
  9. 選取 [新增]。
  10. 針對 [選項],選擇 [手動]。
  11. 輸入原則金鑰的 [名稱]。 例如: IdemiaAppSecret 。 前置詞 B2C_1A_ 會新增至索引鍵名稱。
  12. [秘密] 中,輸入您記錄的 [用戶端密碼]。
  13. 針對 [金鑰使用方法] 選取 [簽章]。
  14. 選取 [建立]。

將行動識別碼設定為外部 IdP

若要讓使用者使用行動識別碼登入,請將 ID一般定義為宣告提供者。 此動作可確保 Azure AD B2C 會透過端點進行通訊,以提供 Azure AD B2C 用來向生物測量驗證使用者驗證的宣告。

若要將 IDABILITY 定義為宣告提供者,請將它新增至原則延伸檔案中的 ClaimsProvider 元素。

     <TechnicalProfile Id="Idemia-Oauth2">
          <DisplayName>IDEMIA</DisplayName>
          <Description>Login with your IDEMIA identity</Description>
          <Protocol Name="OAuth2" />
          <Metadata>
            <Item Key="METADATA">https://idp.XXXX.net/oxauth/.well-known/openid-configuration</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid id_basic mt_scope</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="token_endpoint_auth_method">client_secret_basic</Item>
            <Item Key="ClaimsEndpoint">https://idp.XXXX.net/oxauth/restv1/userinfo</Item>
            <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_IdemiaAppSecret" />
</CryptographicKeys>
          <InputClaims>
            <InputClaim ClaimTypeReferenceId="acr" PartnerClaimType="acr_values" DefaultValue="loa-2" />
          </InputClaims>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="tenantId" PartnerClaimType="tid" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="firstName1" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="lastName1" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="idemia" />
            <OutputClaim ClaimTypeReferenceId="documentId" />
            <OutputClaim ClaimTypeReferenceId="address1" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
           

將 client_id 設定為來自應用程式註冊的應用程式識別碼。

屬性 描述
範圍 針對 OpenID Connect (OIDC) ,最低需求是將 scope 參數設定為 openid。 將更多範圍附加為以空格分隔的清單。
redirect_uri 此位置是使用者代理程式將授權碼傳送至 Azure AD B2C 的位置。
response_type 針對授權碼流程,選取 程式碼
acr_values 此參數可控制使用者必須在驗證期間執行的驗證方法。

選取下列其中一個值:

參數值 對使用者驗證程序的影響
loa-2 僅限密碼編譯型Microsoft Entra多重要素驗證
loa-3 以密碼編譯為基礎的 MFA,再加上另一個因素
loa-4 密碼編譯型 MFA,加上使用者執行 PIN 和生物特徵辨識驗證

/Userinfo 端點提供授權要求中所要求的範圍宣告。 < 對於mt_scope >,有一些宣告,例如名字、姓氏和驅動程式的授權號碼,以及其他專案。 針對範圍設定的宣告會在探索 API 的 scope_to_claims_mapping 區段中發佈。 Azure AD B2C 會向宣告端點要求宣告,並在 OutputClaims 元素中傳回這些宣告。 您可能需要將原則中的宣告名稱對應至 IdP 中的名稱。 在 ClaimSchema 元素中定義宣告類型:

<ClaimType Id="documentId">
     <DisplayName>documentId</DisplayName>
     <DataType>string</DataType>
</ClaimType>
<ClaimType Id="address1">
     <DisplayName>address</DisplayName>
     <DataType>string</DataType>
</ClaimType>

新增使用者旅程圖

針對這些指示,會設定 IdP,但不會在任何登入頁面中。 如果您沒有自訂使用者旅程圖,請複製範本使用者旅程圖。

  1. 從入門套件開啟檔案 TrustFrameworkBase.xml
  2. 找出並複製包含 ID=SignUpOrSignIn 的專案 UserJourneys 內容。
  3. 開啟 TrustFrameworkExtensions.xml
  4. 找出 UserJourneys 元素。 如果沒有元素,請新增一個專案。
  5. UserJourney 元素的內容貼上為 UserJourneys 元素的子系。
  6. 重新命名使用者旅程圖識別碼。 例如: ID=CustomSignUpSignIn

將 IdP 新增至使用者旅程圖

如果有使用者旅程圖,請將新的 IdP 新增至其中。 首先新增登入按鈕,然後將它連結至動作,這是您所建立的技術設定檔。

  1. 在使用者旅程圖中,找出具有 Type= CombinedSignInAndSignUp 或 Type= ClaimsProviderSelection 的協調流程步驟元素。 這通常是第一個協調流程步驟。 ClaimsProviderSelections元素具有 IdP 清單使用者登入。 元素控制項的順序是使用者看到的登入按鈕順序。
  2. 新增 ClaimsProviderSelection XML 元素。
  3. TargetClaimsExchangeId 值設定為易記名稱。
  4. 新增 ClaimsExchange 元素。
  5. 識別碼設定為目標宣告交換識別碼的值。
  6. TechnicalProfileReferenceId 值更新為您建立的技術設定檔識別碼。

下列 XML 使用 IdP 示範使用者旅程圖的前兩個協調流程步驟:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="IdemiaExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="IdemiaExchange" TechnicalProfileReferenceId="Idemia-Oauth2" />
  </ClaimsExchanges>
</OrchestrationStep>

設定信賴憑證者原則

信賴憑證者原則,例如 SignUpSignIn.xml,會指定 Azure AD B2C 執行的使用者旅程圖。

  1. 在信賴憑證者中尋找 DefaultUserJourney 元素。
  2. 更新 ReferenceId,使其符合您在其中新增 IdP 的使用者旅程圖識別碼。

在下列範例中,針對 CustomSignUpOrSignIn 使用者旅程圖,將 ReferenceId 設定為 CustomSignUpOrSignIn

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

上傳自訂原則

如需下列指示,請使用目錄搭配您的 Azure AD B2C 租使用者。

  1. 登入 Azure 入口網站

  2. 在入口網站工具列中,選取 [目錄 + 訂用帳戶]。

  3. 在 [ 入口網站設定] 的 [目錄 + 訂 用帳戶] 頁面上,于 [ 目錄名稱 ] 清單中尋找您的 Azure AD B2C 目錄。

  4. 選取 [切換]。

  5. 在 Azure 入口網站中,搜尋並選取 [Azure AD B2C]。

  6. 在 [原則] 之下,選取 [Identity Experience Framework]。

  7. 選取 [上傳自訂原則]。

  8. 依下列順序上傳您變更的兩個原則檔案:

    • 擴充原則,例如 TrustFrameworkExtensions.xml
    • 信賴憑證者原則,例如 SignUpSignIn.xml

測試自訂原則

  1. 選取您的信賴憑證者原則 (例如 B2C_1A_signup_signin)。
  2. 針對 [應用程式],選取您註冊的 Web 應用程式。
  3. https://jwt.ms會出現在 [ 回復 URL] 中。
  4. 選取 [立即執行]。
  5. 從 [註冊或登入] 頁面中,選取 [ID一]。
  6. 瀏覽器會重新導向至 https://jwt.ms 。 請參閱 Azure AD B2C 所傳回的權杖內容。

深入瞭解 :教學課程:在 Azure AD B2C 中註冊 Web 應用程式

下一步