0

我正在关注位于此处的教程:https ://developer.xamarin.com/guides/xamarin-forms/cloud-services/authentication/oauth/

我到了标题为:呈现登录用户界面的步骤。它说,“当调用 Login 方法时,登录用户界面会在设备 Web 浏览器的选项卡中呈现给用户。”

现在这真的是使用 Xamarin 的过程吗?因为我下载和玩过的其他应用程序没有打开浏览器,然后打开一个新选项卡让我选择要选择的帐户。这些应用程序会在应用程序顶部弹出一个小页面,并允许我选择一个帐户。如果此 Xamarin 流程不同,我将不会在开发我的应用程序时使用它。请帮我解决这个问题,谢谢。

4

1 回答 1

1

没有“Xamarin 的 oAuth 方式”之类的东西。

oAuth 是关于通过谷歌、Facebook、Twitter 等第三方对用户进行身份验证。主要使用不同的 oAuth 流程:隐式授权和授权码授权。对于移动应用程序,隐式流程很常见,因为身份验证代码流程涉及应用程序保持一个移动设备无法真正保证的秘密。要全面了解这些流程,我可以推荐 Xamarin.University 的这个讲座

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

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

这是您在调用时所做的:

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

呈现 UI 的实际实现是特定于平台的。在 iOS 上,如果您是这样编码的,则 UI 操作系统会以模态方式显示。如果您更改此代码以将 UI 显示为浮动在现有内容之上的小弹出窗口,您当然可以这样做。对于任何给定的平台都是如此。

于 2018-02-24T10:14:46.377 回答