我在我的 app.yaml 配置文件中为 GAE 应用程序使用了“登录”选项。看起来像这样:
- url: /admin/.*
script: myapp.app
login: admin
- url: /.*
script: myapp.app
login: required
更新(根据bossylobster的建议):我希望用户始终登录(未签名的用户不能做任何事情),我需要知道用户是谁。实际上,我需要 OAuth2 凭据才能与 Google API 进行通信(例如,我需要使用 Google Profiles API 获取一些用户信息,并使用 Google Calendar API 写入用户的日历)。最后,我需要一个管理员用户来执行一些操作(比如创建新域的用户,使用 Google Provisioning API)
我正在使用 google-api-client 库,并使用 oauth2 装饰器。然后,在我的 RequestHandlers 中,我有这个:
class MainHandler(webapp.RequestHandler):
@decorator.oauth_aware
def get(self):
if decorator.has_credentials():
# do something
else:
url = decorator.authorize_url()
self.response.out.write(template.render('templates/index.html',
{'authorize_url': url}))
最后,我读到了另一种方法:
user = users.get_current_user()
if user:
# do something
else:
greeting = ("<a href=\"%s\">Sign in or register</a>." %
users.create_login_url("/"))
self.response.out.write("<html><body>%s</body></html>" % greeting)
处理用户身份验证以满足我的需求的最佳方法是什么(请参阅更新)?
提前谢谢了