我尝试使用Xamarin.Auth在我的Android应用上进行身份验证。不久前,Google制定了一项政策,即您无法在嵌入式网络视图中执行此操作(完全正当理由)。
我尝试在浏览器中打开帐户身份验证页面,但不断获取嵌入式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
变量几乎相同。
我有什么可愚蠢的错过吗?还有什么可能出错?