2015-10-05 68 views
0

我已經使用了以下示例iOS項目hereAzure AD B2C在Xamarin.Forms中指定多個身份提供商iOS應用程序

樣品是非常直接的,我可以得到ADAL加載登錄查看並請求用戶認證,都好。

現在,我打算把它遠一點通過顯示具有多個身份提供者(G +,微博,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應用中登錄?

在此先感謝!

回答

2

我結束了由authContext.AcquireTokenAsync()方法指定「extraQueryParameters」這個解決我自己。 This post幫助了很多人提出了所需的解決方案。

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"); 

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

我現在有一個基於我在Azure的門戶網站已經設置的政策可以登錄我的應用程序的多個身份提供商。萬歲! :)

HTH ...

相關問題