Xamarin.Auth OAuth2Authenticator不断要求用户授予权限

时间:2019-02-05 02:31:45

标签: xamarin.forms google-oauth2 xamarin.auth

我已经使用Xamarin.Auth实现了OAuth 2身份验证。

Authenticator = new OAuth2Authenticator(
clientId: OAuthConstants.CLIENT_ID,
clientSecret: null,
scope: OAuthConstants.SCOPE,
authorizeUrl: new Uri(OAuthConstants.AUTHORIZE_URL),
accessTokenUrl: new Uri(OAuthConstants.ACCESS_TOKEN_URL),
redirectUrl: new Uri(OAuthConstants.REDIRECT_URL),
getUsernameAsync: null,
isUsingNativeUI: true);

用户可以使用OAuth进行注册,也可以使用本地帐户并将其链接到Google帐户。这两种情况都可以正常工作。

在链接帐户或注册时,提示用户授予作用域权限(配置文件电子邮件)。然后,我取回访问令牌并使用帐户存储来存储帐户。

由于此链接到了google,因此我将google用户ID和刷新令牌存储在数据库中。

想法是,如果卸载了该应用程序,然后用户重新安装了该应用程序,我希望他们能够再次使用Google oAuth登录。

这行得通-因为我可以使用Google用户ID找到用户,但是甚至认为使用OAuth2Authenticator请求访问令牌时应用程序ID并未更改。它一直要求用户授予权限-他们已经授予了该应用的权限。

我正在向演示者演示如下:

var presenter = new Xamarin.Auth.Presenters.OAuthLoginPresenter();
CustomTabsConfiguration.CustomTabsClosingMessage = null;
presenter.Login(Authenticator);

我会认为,由于用户允许应用访问,因此不会提示他们再次授予权限。

有没有一种提示他们登录的方法,而不仅仅是每次都被要求获得权限?

谢谢

0 个答案:

没有答案