我在此处遵循教程:https://developer.xamarin.com/guides/xamarin-forms/cloud-services/authentication/authentication/oauth/
我进入了标题为":介绍登录用户界面"的步骤。它说:"当调用登录方法时,登录用户界面将在设备的Web浏览器中的选项卡中显示给用户。"
现在,这是使用Xamarin时的真正过程吗?因为我下载并使用的其他应用程序请勿打开浏览器,然后打开一个新标签,让我选择哪个帐户可以选择。这些应用程序弹出了应用程序顶部的小页面,并允许我选择一个帐户。如果此Xamarin过程不同,则在开发应用程序时不会使用它。请为我清除这个。
没有诸如" xamarin的oauth方式"之类的东西。
oauth是关于通过Google,Facebook,Twitter等第三方对用户进行身份验证的验证。有不同的OAuth流量,主要使用:隐式授予和授权代码赠款。对于移动应用程序,隐式流程很常见,因为AUTH代码流涉及该应用程序保留一个秘密,而移动设备无法真正保证。有关这些流量的很好概述,我可以推荐Xamarin.University的讲座。
无论您使用哪种基础开发堆栈,这些流都是相同的。
您所指的文档使用库使用这些流量来帮助:xamarin.auth。实际上,您根本不必使用此库。该库有助于存储令牌,发送包括所需令牌,检测端点重定向等的请求。使用此库的一部分是在显示第三方供应商登录表单的UI中。
这是您打电话时要做的:
var presenter = new Xamarin.Auth.Presenters.OAuthLoginPresenter();
presenter.Login(authenticator);
呈现UI的实际实现是特定于平台的。在iOS上,UI操作系统在iOS上显示了您的编码方式。如果更改此代码以将UI显示为浮在现有内容顶部的小弹出窗口,则可以这样做。对于任何给定平台都是如此。