【问题标题】:getting ng-token-auth and devise_token_auth to work with OAuth in ionic InAppBrowser让 ng-token-auth 和 devise_token_auth 在 ionic InAppBrowser 中与 OAuth 一起使用
【发布时间】:2015-09-07 04:46:35
【问题描述】:

当我在笔记本电脑 Chrome 浏览器上测试设置时,使用 sameWindow 和 newWindow 一切正常:我可以登录,例如 Facebook,并且用户已获得授权并且可以使用我的应用程序。

但是,当我尝试将应用程序部署到 android 并使用 inAppBrowser 时,事情就中断了。在我的应用程序中选择“通过 FB 登录”按钮时,我可以看到 inAppBrowser 框架显示 Facebook 移动网站要求登录。当我通过 Chrome 检查检查该特定窗口时,我可以看到来自 FB 的回调进入我的服务器上的omniauth,包括查询字符串中的状态和代码:

https://<app>.herokuapp.com/omniauth/facebook/callback?code=<code>&state=<state>

此请求收到 302 重定向到以下 URL:

https://<app>.herokuapp.com/api/v1/auth/facebook/callback

此后续请求收到 200 响应。到目前为止,一切似乎都很好,inAppBrowser 窗口关闭,我们回到我的移动应用程序,我看到 ng-token-auth "auth:login-success" 事件经过。

但是,对我的服务器的任何后续 API 请求都会收到 401 Not Authorized 响应。当我查看这些 API 请求的请求标头时,我没有看到笔记本电脑上的 Chrome 发送到服务器的任何标头,例如:access-token、client、expiry、token-type 和 uid。

如果您能提供任何关于在哪里寻找或我在这里缺少什么的建议,我将不胜感激。

谢谢!

【问题讨论】:

    标签: angularjs oauth ionic cordova-plugins ngcordova


    【解决方案1】:

    事实证明,当使用 ionic 时,我认为它与 cordova 相同,根据 cookie 中的默认行为存储令牌不起作用。但是,一旦您将其配置为与 localStorage 一起使用,它就可以很好地工作!

    有关更多信息,请参阅我在 GitHub 项目中打开的 this 问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多