【问题标题】:Google-oauth callback works from desktop browsers but not from mobile browserGoogle-oauth 回调适用于桌面浏览器,但不适用于移动浏览器
【发布时间】:2019-04-05 23:44:05
【问题描述】:

我已经设置了 google_oauth_client 并使用 passport.js 实现了 google_authentication 并将我的应用程序部署到 heroku。身份验证在桌面浏览器中工作,但我从移动设备上的浏览器中收到 redirect_uri_mismatch 错误。

我已经研究过这个问题,但互联网上没有太多。我尝试从几台台式计算机进行身份验证,一切正常。但是,相同的操作会从任何移动设备发出错误。

我不确定是否需要在此处显示代码,但这里是来自我的手机和 Oauth_client 的错误快照。这也是我部署的应用程序的链接 heroku

mobile error

google_oauth_client_setup

【问题讨论】:

    标签: mobile passport.js google-oauth url-redirection passport-google-oauth


    【解决方案1】:

    对于可能遇到此问题的人。修复实际上相当简单。移动浏览器不理解我在下面的这个 GoogleStrategy 设置:

        clientID: keys.googleClientID,
        clientSecret: keys.googleClientSecret,
        callbackURL: '/auth/google/callback',
        proxy: true
    

    你将不得不做这样的事情。确保你的配置文件有你的 heroku 域的绝对路径,而不仅仅是在 keys.redirectURI 中调用它

        clientID: keys.googleClientID,
        clientSecret: keys.googleClientSecret,
        callbackURL: keys.redirectURI + '/auth/google/callback',
    

    我认为问题是 'proxy.true' 。也许谷歌没有正确代理到移动浏览器。正如您从我上面的屏幕截图中看到的那样,它正在尝试重定向到 http 而不是 https。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-22
      • 1970-01-01
      • 2023-03-13
      • 2014-02-18
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多