我为我的Google Apps域开发了一个简单的AppEngine应用程序。访问仅限于我的域中的用户,并且该域中的管理控制台中已启用该应用程序。
应用程序中的身份验证/授权是使用装饰器完成的,使用从我的API控制台下载的JSON客户端机密。我已经创建了“Web应用程序的客户端ID”类型的客户端机密。
我的主要处理程序,在GET方法上,如下所示:
@decorator.oauth_aware
def get(self):
if decorator.has_credentials():
.... do stuff .....
else:
self.response.out.write("decorator doesn't have credentials")
问题是当我登录帐户时应用程序运行良好。对于同一域中的所有其他用户,我得到“装饰器没有凭据”错误。
为什么会出现这种情况的任何线索?
答案 0 :(得分:0)
问题实际上很简单:用户没有登录,而不是出现登录窗口,应用程序崩溃了。
要显示一个登录窗口,我们应该使用@decorator.oauth_required
而不是oauth_aware
,并将login: required
放在app.yaml文件中