我使用了here提供的以下示例iOS项目。
示例非常简单,我可以通过ADAL加载登录视图并请求用户身份验证,这一切都很好。
现在,我打算通过展示具有多个身份提供者(G +,Twitter,Fb等)的登录视图来进一步了解。
在Web应用程序中,当我请求身份验证时,我可以看到多个身份提供者,因为我们可以在web.config中指定策略,如下所示:
var bulk = db.collection('test').initializeUnorderedBulkOp();
for (var i = 0; i < docs.length; i++) {
bulk.insert(docs[i]);
};
bulk.execute(function (err, result) {
db.close();
});
我有与我在应用程序中使用的相同的重定向uri(我也尝试使用重定向uri用于Native客户端而没有运气)
我想知道,如何在Xamarin表单项目中指定策略,以便在iOS应用程序中看到多个用户登录的身份提供程序?
提前致谢!
答案 0 :(得分:3)
我最终通过在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