教學課程:使用 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中行動識別碼應用程式 - 手機上應用程式中的驅動程式授權或狀態核發識別碼的數位版本
- 請參閱 ID行動裝置識別碼
行動識別碼是數位識別檔,這是 DMV 用來驗證個別身分識別的可攜式行動身分識別權杖。 簽署的數位板識別碼會儲存在使用者行動電話上,作為邊緣上的身分識別。 簽署的認證可讓您輕鬆存取身分識別服務,例如年齡證明、財務知道您的客戶、帳戶存取等。
下圖說明使用行動識別碼註冊和登入使用者流程。
- 使用者造訪 Azure AD B2C 登入頁面, (回復者) 及其裝置和行動裝置識別碼來進行交易。
- Azure AD B2C 會執行識別碼檢查。 它會使用 OIDC 授權碼流程,將使用者重新導向至 IDOIDC 路由器。
- 路由器會使用驗證和授權要求詳細資料,將生物特徵辨識挑戰傳送給使用者的行動應用程式。
- 視安全性而定,系統可能會提示使用者提供更多詳細資料:輸入 PIN、取得即時自我或兩者。
- 驗證回應會提供擁有權、存在和同意的證明。 回應會傳回路由器。
- 路由器會驗證使用者資訊,並回復結果為 Azure AD B2C。
- 使用者被授與或拒絕存取。
啟用行動識別碼
若要開始使用,請移至 [idemia.com 連絡 頁面以要求示範。 在 [要求表單文字] 欄位中,指出您對 Azure AD B2C 整合感興趣。
整合行動識別碼與 Azure AD B2C
使用下列各節來準備和執行整合程式。
必要條件
若要開始,您需要:
存取具有 IDTW 的使用者,美國州發行的行動識別碼認證 (mID)
- 或者,在測試階段期間,來自 ID一的 mID 示範應用程式
Azure 訂用帳戶
- 如果您沒有帳戶,請取得 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 租使用者。
- 登入 Azure 入口網站。
- 在入口網站工具列中,選取 [目錄 + 訂用帳戶]。
- 在 [ 入口網站設定] 的 [目錄 + 訂用帳戶 ] 頁面上,于 [目錄名稱 ] 清單中尋找您的 Azure AD B2C 目錄
- 選取 [切換]。
- 在Azure 入口網站左上角,選取[所有服務]。
- 搜尋並選取 [Azure AD B2C]。
- 在 [概觀] 頁面上,選取 [Identity Experience Framework]。
- 選取 [ 原則金鑰]。
- 選取 [新增]。
- 針對 [選項],選擇 [手動]。
- 輸入原則金鑰的 [名稱]。 例如:
IdemiaAppSecret
。 前置詞B2C_1A_
會新增至索引鍵名稱。 - 在 [秘密] 中,輸入您記錄的 [用戶端密碼]。
- 針對 [金鑰使用方法] 選取 [簽章]。
- 選取 [建立]。
將行動識別碼設定為外部 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,但不會在任何登入頁面中。 如果您沒有自訂使用者旅程圖,請複製範本使用者旅程圖。
- 從入門套件開啟檔案
TrustFrameworkBase.xml
。 - 找出並複製包含
ID=SignUpOrSignIn
的專案UserJourneys
內容。 - 開啟
TrustFrameworkExtensions.xml
。 - 找出 UserJourneys 元素。 如果沒有元素,請新增一個專案。
- 將 UserJourney 元素的內容貼上為 UserJourneys 元素的子系。
- 重新命名使用者旅程圖識別碼。 例如:
ID=CustomSignUpSignIn
。
將 IdP 新增至使用者旅程圖
如果有使用者旅程圖,請將新的 IdP 新增至其中。 首先新增登入按鈕,然後將它連結至動作,這是您所建立的技術設定檔。
- 在使用者旅程圖中,找出具有 Type=
CombinedSignInAndSignUp
或 Type=ClaimsProviderSelection
的協調流程步驟元素。 這通常是第一個協調流程步驟。 ClaimsProviderSelections元素具有 IdP 清單使用者登入。 元素控制項的順序是使用者看到的登入按鈕順序。 - 新增 ClaimsProviderSelection XML 元素。
- 將 TargetClaimsExchangeId 值設定為易記名稱。
- 新增 ClaimsExchange 元素。
- 將識別碼設定為目標宣告交換識別碼的值。
- 將 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 執行的使用者旅程圖。
- 在信賴憑證者中尋找 DefaultUserJourney 元素。
- 更新 ReferenceId,使其符合您在其中新增 IdP 的使用者旅程圖識別碼。
在下列範例中,針對 CustomSignUpOrSignIn
使用者旅程圖,將 ReferenceId 設定為 CustomSignUpOrSignIn
。
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
上傳自訂原則
如需下列指示,請使用目錄搭配您的 Azure AD B2C 租使用者。
登入 Azure 入口網站。
在入口網站工具列中,選取 [目錄 + 訂用帳戶]。
在 [ 入口網站設定] 的 [目錄 + 訂 用帳戶] 頁面上,于 [ 目錄名稱 ] 清單中尋找您的 Azure AD B2C 目錄。
選取 [切換]。
在 Azure 入口網站中,搜尋並選取 [Azure AD B2C]。
在 [原則] 之下,選取 [Identity Experience Framework]。
選取 [上傳自訂原則]。
依下列順序上傳您變更的兩個原則檔案:
- 擴充原則,例如
TrustFrameworkExtensions.xml
- 信賴憑證者原則,例如
SignUpSignIn.xml
- 擴充原則,例如
測試自訂原則
- 選取您的信賴憑證者原則 (例如
B2C_1A_signup_signin
)。 - 針對 [應用程式],選取您註冊的 Web 應用程式。
-
https://jwt.ms
會出現在 [ 回復 URL] 中。 - 選取 [立即執行]。
- 從 [註冊或登入] 頁面中,選取 [ID一]。
- 瀏覽器會重新導向至
https://jwt.ms
。 請參閱 Azure AD B2C 所傳回的權杖內容。
深入瞭解 :教學課程:在 Azure AD B2C 中註冊 Web 應用程式
下一步
- Azure AD B2C 自訂原則概觀
- 教學課程:在 Azure AD B2C 中建立使用者流程和自訂原則
- 移至行動識別碼的 idemia.com:證明具有更高隱私權的身分識別