![](/img/trans.png)
[英]How to implement Azure AD B2C PasswordReset functionality in an iOS App
[英]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.