我有一个ASP.NET Core Web App和ASP.NET Core Web API,目前正在使用IdentityServer4。
我正在添加Xamarin Forms应用程序(Android + iOS),但找不到使用Facebook和/或Google以及IdentityServer的Xamarin Forms应用程序的任何示例。
我遇到的许多示例都使用WebView,我不想使用它们,并且想要使用Native App(Facebook / Google)或Mobile Browser(Chrome / Safari)进行身份验证(取决于是否Facebook / Google应用已安装在用户设备上。
对于移动设备上的用户流量,我也感到困惑,即:
我一直在使用信息并将我的系统基于eShopOnContainers enterprise reference app,并使用这种微服务类型的体系结构,唯一缺少的(出于我的目的)是社交登录,否则该体系结构正是我们正在建造的东西的类型。
答案 0 :(得分:0)
您需要为此使用OAuth
。这是访问委派的开放标准。
您在Xamarin文档中有完整的解释:https://docs.microsoft.com/en-us/xamarin/xamarin-forms/data-cloud/authentication/oauth
答案 1 :(得分:0)
如果有任何价值,我们的解决方案将使所有内容都通过我们的身份服务器。用户可以选择直接从登录页面使用Google或LinkedIn进行登录,也可以通过自定义策略将其定向到其雇主的IDP。
这里的好处是您的Xamarin应用无需执行任何特殊操作,因为您的identityserver4
实现可处理多个不同的社交登录提供程序。
这几乎完全是您在问题中提出的内容,所以我想我的答案是-是的,我认为您的想法是正确的。
也可能值得看一下这个示例:https://github.com/IdentityModel/IdentityModel.OidcClient.Samples/tree/master/XamarinForms