GAE Launcher在app.yaml中强制执行Google帐户登录

时间:2013-12-05 11:19:32

标签: google-app-engine google-account

首先,只是让你知道我在这里搜索了一些,我知道关于这个主题的一些其他问题,但没有人回答我的问题。

本地GAE的身份验证与appspot部署的身份验证不同,我不需要使用最少的解决方案代码。

我正在编写一个HTML5应用程序,我可以通过按钮进行谷歌身份验证,它会更新所有正确的令牌,以便我可以在GAE启动的应用程序或appspot部署的应用程序中访问该配置文件。

  

我需要在应用内登录用户的Google帐户详细信息   我正在写(例如,对日历和联系人的API调用)

,我宁愿不必为我的本地开发平台编写登录处理程序 - 为简单起见而自动化。

我已经读过添加login:required强制登录,而在appspot上这很有效。在本地,它没有任何用处。

我读过你可以写一个Python装饰器来使用@login_required - 但我不是用Python编写的(它是php生成一个HTML5页面)。我可以编写一些PHP包装器来处理它,或者在页面加载时自动调用Javascript中的调用 - 但这是我不想写的解决方法,因为它是在生产环境中为我处理的。

  

我想要登录:必填选项,因为我处理了所有内容   生产

。我已经搜索了登录标签的选项,没有任何暗示我可以强制在本地启动的应用程序中进行谷歌登录。我用谷歌搜索了发射器和设置,但似乎没有什么明显的。

我想我可以使用开发工作方式,并且应用程序可以假设我已经过身份验证,我的应用程序中的JSON请求处理程序只会使用登录名:在我通过身份验证后传递正确的Google令牌时需要。< / p>

我还有其他选择吗?

2 个答案:

答案 0 :(得分:0)

这听起来像是一个PHP运行时错误。 login:required在python本地开发服务器上运行正常。您是否已查看问题页面以查看是否已报告?

https://code.google.com/p/googleappengine/issues/list

否则它可能绕过您的开发服务器上的登录,因为您的浏览器中有一些cookie表明您已经登录。您可以尝试清除cookie

或者(至少在python devserver上),你可以通过http://localhost:8000/_ah/login转到你的登录页面强制退出(显然修复了主机名和端口号)

答案 1 :(得分:0)

除了自己编写整个OAuth处理程序(或在其他地方获得一个)之外,似乎没有办法解决这个问题 - 对于开发环境而言,仅仅是“问题”的重大过度。

我已经编写了应用程序,以便在启动时处理获取Google个人资料的详细信息,如果不存在则强制进行身份验证。

这意味着login:required将在生产环境中按预期工作,并强迫您在进入应用程序之前对Google进行身份验证...然后应用程序只获取配置文件详细信息,因为令牌已经存在。

登录:在开发环境中需要只设置一个你只是'确定'的屏幕,然后应用程序尝试获取配置文件的详细信息,但强制进行身份验证,因为没有身份验证令牌。

这很不幸,但这只是开发中的一个步骤,用户不必使用它,但它可以工作。