这真的是使用Xamarin通过Google平台对用户进行身份验证的过程吗?

时间:2018-02-24 09:48:44

标签: user-interface authentication xamarin google-play-services xamarin.auth

我正在按照此处的教程:https://developer.xamarin.com/guides/xamarin-forms/cloud-services/authentication/oauth/

我进入了标题为“呈现登录用户界面”的步骤。 它说,"当调用Login方法时,登录用户界面将通过设备的Web浏览器在选项卡中显示给用户。"

现在这是使用Xamarin的过程吗? 因为我已下载并播放的其他应用不打开浏览器,然后打开新标签,以便我选择要选择的帐户。这些应用程序在应用程序顶部弹出一个小页面,允许我选择一个帐户。 如果这个Xamarin进程不同,我在开发我的应用程序时不会使用它。请清楚这一点,谢谢。

1 个答案:

答案 0 :(得分:1)

没有" Xamarin的oAuth&#34 ;.

oAuth是关于通过第三方(如Google,Facebook,Twitter等)对用户进行身份验证。主要使用的是不同的oAuth流:隐式授权和授权代码授予。对于移动应用程序,隐式流程很常见,因为身份验证代码流程涉及应用程序保守移动设备无法保证的秘密。有关这些流程的精彩概述,我可以向Xamarin.University推荐这个lecture

无论您使用哪种底层开发堆栈,这些流程都是相同的。

您所指的文档正在使用库来帮助使用这些流程:Xamarin.Auth。事实上,你根本不必使用这个库。此库有助于存储令牌,发送包含所需令牌的请求,检测端点重定向等。使用此库的一部分是显示第三方供应商登录表单的UI。

这是你在致电时所做的事情:

var presenter = new Xamarin.Auth.Presenters.OAuthLoginPresenter();
presenter.Login(authenticator);

呈现UI的实际实现是特定于平台的。在iOS上,UI os以模态显示,如果您正在编码它。如果您更改此代码以将UI显示为浮动在现有内容之上的小弹出窗口,您当然可以执行此操作。对于任何给定的平台都是如此。