簡體   English   中英

Azure AD B2C在Xamarin.Forms iOS應用中指定多個身份提供程序

[英]Azure AD B2C Specify multiple Identity Providers in Xamarin.Forms iOS app

我使用了此處提供的以下示例iOS項目。

該示例非常簡單,我可以讓ADAL加載登錄視圖並請求用戶身份驗證,一切都很好。

現在,我打算通過顯示具有多個身份提供者(G +,Twitter,Fb等)的登錄視圖來進一步介紹它。

在Web應用程序中,當我請求身份驗證時,我可以看到多個身份提供者,因為我們可以在web.config中指定策略,如下所示:

<add key="ida:Tenant" value="sometenant.onmicrosoft.com" />
<add key="ida:ClientId" value="clientidguid" />
<add key="ida:ClientSecret" value="clientsecret" />
<add key="ida:AadInstance" value="https://login.microsoftonline.com/{0}{1}{2}" />
<add key="ida:RedirectUri" value="https://localhost:44321/" />
<add key="ida:SignUpPolicyId" value="b2c_1_xyz_policy" />
<add key="ida:SignInPolicyId" value="b2c_1_xyz_sign_in" />
<add key="ida:UserProfilePolicyId" value="b2c_1_xyz_editing" />

我已經在應用程序中使用了相同的重定向uri(我也嘗試過將uri重定向用於本機客戶端,但沒有運氣)

我想知道如何在Xamarin表單項目中指定策略,以便可以在iOS應用中看到多個身份提供者以用於用戶登錄?

提前致謝!

最后,我自己通過在authContext.AcquireTokenAsync()方法中指定“ extraQueryParameters”來解決此問題。 這篇文章對提出所需的解決方案很有幫助。

var authResult = await authContext.AcquireTokenAsync(resource, clientId, new Uri(returnUri), new PlatformParameters(UIApplication.SharedApplication.KeyWindow.RootViewController), UserIdentifier.AnyUser, "&scope=openid&p=B2C_1_xyz_sign_in");

'scope'是必需的參數,'p'參數指定要使用的策略。

現在,根據我在Azure門戶中設置的策略,我的應用程序中可以使用多個身份提供程序進行登錄。 萬歲! :)

嗯...

暫無
暫無

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

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