每次使用 google auth、Cordova + ionic 2 都提示同意

Posted

技术标签:

【中文标题】每次使用 google auth、Cordova + ionic 2 都提示同意【英文标题】:Prompt for consent every time with google auth, Cordova + ionic 2 【发布时间】:2017-09-21 06:50:21 【问题描述】:

我正在使用此 Cordova GooglePlus Plugin 登录 Google 帐户。问题是我只能在第一个请求中获取刷新令牌。我想每次都拥有这个令牌。

我读过添加prompt=consent 设置会使其在每次登录时都征求同意,并且我每次都可以获得刷新令牌。

我只是不知道在哪里添加这个设置来实现这一点。

我正在登录:

    let opts = 
        scopes: "SCOPE1 SCOPE2",
        webClientId: WEBCLIENTID,
        offline: true
    
    GooglePlus.login(opts)

任何人都可以帮助我吗?

谢谢

【问题讨论】:

你解决了吗?我遇到了同样的问题 我得到了同样的帮助吗? 【参考方案1】:

试试这个:

this.afAuth.auth .signInWithPopup(new firebase.auth.GoogleAuthProvider().setCustomParameters(prompt: 'select_account')) .then((用户) => // 你的逻辑代码在这里

    ,(err) => 
      console.log("Error in auh service" + err);
     reject(err);
   )

【讨论】:

【参考方案2】:

您必须将其添加到authentication request

您可以通过添加 prompt=consent 参数到身份验证请求。什么时候 prompt=consent 包括在内,每次都显示同意屏幕 用户登录到您的应用程序。因此,包括 prompt=consent 仅在必要时。

Authentication URI parameters - consent

【讨论】:

嗨@Sampath,因为我使用的是插件,所以我认为我无法控制请求参数...

以上是关于每次使用 google auth、Cordova + ionic 2 都提示同意的主要内容,如果未能解决你的问题,请参考以下文章

安装 fcm 插件时出现cordova错误

如何在没有 Angular 的 Cordova 中实现 Auth0 SSO

无需每次身份验证即可使用 Google Api 的任何方式?

将多个Auth提供程序链接到一个帐户

Google地图自动填充功能在Cordova iOS上使用WKWebView失败

使用 Cordova google-analytics-plugin 时生成错误