【发布时间】:2011-10-14 09:55:37
【问题描述】:
我在这里指的是当你用你的谷歌账户登录到 GAE 应用程序后你被重定向的那个页面,它要求你允许访问你的谷歌账户。
将此与自定义域和 https 放在一起,您就会遇到我的问题。
抱歉冗长。我到处找。什么也没找到。不确定这是一个 OAuth 问题(认为不是)。
我的配置:
- 开发了 myapp.appspot.com
- 将自定义域 myapp.mydomain.com 配置为指向 myapp
- myapp 正在使用 GAE 登录服务
- 需要来自自定义域(!)的https帖子,解决如下:
- 页面从http://myapp.mydomain.com加载到HTTP
- 一些提交的 HTTPS URL 在页面中是硬编码的,如https://myapp.appspot.com/someservice
- 相同的域策略通过 http 标头解析服务器端
- GAE 登录服务适用于 http://myapp.mydomain.com 处理程序和 https://myapp.appspot.com/someservice 处理程序
工作流程是:
- 用户尚未通过身份验证
- 用户浏览http://myapp.mydomain.com(不是ssl)
- 用户被重定向到谷歌账户登录页面
- 用户登录
- 用户被重定向到上述页面:myapp is requesting permission to access user's google account
- 用户授予他的权限
- 用户在 - OK
- 现在问题来了:
- 用户提交到 https://myapp.appspot.com/someservice(以便数据通过 ssl 传输),这是 loginrequired 修饰的
- 登录正常,用户不会再次重定向到登录页面,
- 我认为这是因为 google 登录是跨应用程序(如果用户已经登录到 gmail 也应该如此)
- 但现在https://myapp.appspot.com/再次请求访问用户的 google 帐户的权限 - 这就是问题
提示用户TWICE授予myapp访问其帐户的权限:
- 有一次他浏览到 http://myapp.mydomain.com
- 当他向 https://myapp.appspot.com/someservice 提交数据时,另一个
我的用户不喜欢它,我也不喜欢它!!!
我怀疑这是因为用户的回答(允许或不感谢)是相对于应用程序的 URL 保存在服务器端的 而不是相对于应用程序的其他一些唯一 ID。
但我不知道如何解决它或至少解决它。
感谢您耐心阅读到这里。
任何帮助将不胜感激。
【问题讨论】:
-
您使用什么 SDK/语言和框架?
标签: google-app-engine authentication google-account