Xamarin.Auth - Google 身份验证无法在浏览器中打开

Xamarin.Auth - Google authentication won't open in browser

我正在尝试使用 Xamarin.Auth 在我的 Android 应用程序上进行身份验证。前段时间,Google 制定了不能在嵌入式 Web 视图中执行此操作的政策(出于完全正当的理由)。

我正在尝试在浏览器中打开帐户身份验证页面,但一直在获取嵌入式 Web 视图。我理解 isUsingNativeUI 需要在下面的代码中是 true

        _auth = new OAuth2Authenticator(clientId, string.Empty, scope,
                                        new Uri(Constant.AuthorizeUrl),
                                        new Uri(redirectUrl),
                                        new Uri(Constant.AccessTokenUrl),
                                        null,
                                        isUsingNativeUI = true);

在我的申请中,这始终等于 true。

在其他地方,我有重定向到应该浏览器的代码:

        var authenticator = Auth.GetAuthenticator();
        Intent intent = authenticator.GetUI(this);
        this.StartActivity(intent);

无论如何,每当我尝试 运行 项目时,我都会收到可怕的 403 disallowed_useragent 错误。我还缺少其他元素吗?

据我所知,在构造函数中设置 auth.IsUsingNativeUI = true 应该规定它 必须 在浏览器中打开。我一直在按照 this 示例尝试调试,但没有成功。我什至将那个人的回购协议拉到我的机器上 运行 它 - 重定向时的 Intent 变量几乎相同。

我会不会遗漏了什么愚蠢的东西?还有什么问题?

我意识到这是一个老问题,但我遇到了同样的问题。

您必须安装 Xamarin.Auth Nuget 包的 1.5.0.3 版。最新的(现在是 1.7.0 版)不起作用。您还必须安装 PCLCrypto nuget 包才能使该版本正常工作。