簡體   English   中英

使用 Azure Active Directory B2C 中的自定義策略為多租戶 Azure Active Directory 設置登錄

[英]Set up sign-in for multi-tenant Azure Active Directory using custom policies in Azure Active Directory B2C

我已經按照教程

https://learn.microsoft.com/en-us/azure/active-directory-b2c/identity-provider-azure-ad-multi-tenant?pivots=b2c-user-flow

我有一個按鈕出現,它看起來可以使用,但是當我使用工作帳戶登錄時,我得到

所選用戶帳戶在租戶“默認目錄”中不存在,無法訪問該租戶中的應用程序“”。 需要先在租戶中將賬號添加為外部用戶。 請使用不同的帳戶。

它似乎適用於 gmail 帳戶,但不適用於其他租戶的帳戶。

我的問題是如何讓它與另一個租戶帳戶一起使用

這是我的 3 個自定義 xml 文件https://easyupload.io/m/w0gxlj

我試圖在我的環境中重現相同的內容並得到如下相同的錯誤:

在此處輸入圖像描述

要解決該錯誤,請嘗試以下操作:

我創建了一個 Azure AD 應用程序並配置了重定向 URI:

在此處輸入圖像描述

現在,我創建了一個如下所示的策略密鑰

在此處輸入圖像描述

要將 Azure AD 配置為身份提供者,我在TrustFrameworkExtensions.xml文件中添加了ClaimsProvider ,如下所示:

<ClaimsProvider>
<Domain>testaadb2c01</Domain>
<DisplayName>Common AAD</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="AADCommon-OpenIdConnect">
<DisplayName>Common AAD</DisplayName>
<Description>Login with your Contoso account</Description>
<Protocol Name="OpenIdConnect"/>
<Metadata>
<Item Key="METADATA">https://login.microsoftonline.com/testaadb2c.onmicrosoft.com/v2.0/.well-known/openid-configuration</Item>
<!-- Update the Client ID below to the Application ID -->
<Item Key="client_id">CLIENTID</Item>
<Item Key="response_types">id_token</Item>
<Item Key="scope">openid profile</Item>
<Item Key="response_mode">form_post</Item>
<Item Key="HttpBinding">POST</Item>
<Item Key="UsePolicyInRedirectUri">false</Item>
<Item Key="DiscoverMetadataByTokenIssuer">true</Item>
<Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item>
</Metadata>
<CryptographicKeys>
<Key Id="client_secret" StorageReferenceId="B2C_1A_AADAppSecret"/>
</CryptographicKeys>
<OutputClaims>
------
</OutputClaims>
<OutputClaimsTransformations>
------
</OutputClaimsTransformations>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
<ClaimsProvider>
<DisplayName>Azure Active Directory</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="AAD-Common">
<DisplayName>Azure Active Directory</DisplayName>
<Metadata>
<Item Key="ApplicationObjectId">OBJECTID</Item>
<Item Key="ClientId">CLIENTID</Item>
</Metadata>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
<ClaimsProvider>
<DisplayName>Local Account SignIn</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="login-NonInteractive">
<Metadata>
<Item Key="client_id">CLIENTID</Item>
<Item Key="IdTokenAudience">AUDIENCE</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="client_id" DefaultValue="XXXXXX"/>
<InputClaim ClaimTypeReferenceId="resource_id" PartnerClaimType="resource" DefaultValue="XXXXXX"/>
</InputClaims>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
</ClaimsProviders>

在此處輸入圖像描述

當我運行自定義策略時,我成功獲得了登錄屏幕,如下所示:

在此處輸入圖像描述

當我嘗試使用AzureAD User account登錄時,我能夠成功登錄,如下所示:

在此處輸入圖像描述

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM