首页 文章

自定义域应用请求访问Google帐户的权限

提问于
浏览
0

我在这里指的是您在使用Google帐户登录GAE应用程序后重定向的页面,该帐户会要求您允许访问您的Google帐户 .

把它与自定义域和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)

  • 用户被重定向到Google帐户登录页面

  • 用户登录

  • 用户被重定向到上述页面:myapp请求访问用户的Google帐户的权限

  • 用户授予他的许可

  • 用户在 - 好的

  • Now comes the problem:

  • 用户提交到https://myapp.appspot.com/someservice(以便数据传输ssl),这是loginrequired装饰

  • 登录正常,用户不会再次被重定向到登录页面,

  • 我认为这是因为谷歌登录是跨应用程序(如果用户已经登录到Gmail,同样应该appen)

  • 但现在https://myapp.appspot.com/是 again 请求访问用户的Google帐户的权限 - 这就是问题所在

系统会提示用户 TWICE 授予myapp访问其帐户的权限:

  • 一次浏览http://myapp.mydomain.com时

  • 和另一个他向https://myapp.appspot.com/someservice提交数据时

我的用户也不喜欢它和我!

我怀疑这是因为用户回答(允许或不回复)是相对于应用程序的URL保存服务器端而不是相对于应用程序的其他一些唯一ID .

但我不知道如何解决它或至少解决它 .

感谢您耐心等待阅读 .

任何帮助,将不胜感激 .

1 回答

  • 0

    为用户会话发出的cookie是每域和每协议 . 因此,同一会话将无法在appspot应用和您的自定义域上运行 . 这不是App Engine的限制 - 它只是HTTP的工作原理 .

    目前,最好的解决方案是将表单本身放在HTTPS上(无论如何这通常是一个好主意) .

相关问题