python - 如何在 App Engine 中使用 Google Acounts API?

标签 python google-app-engine authentication

我有一个基于 Python 的网络应用程序,在其中一个中,我想使用 Google 帐户让用户登录。这很简单,假设我的应用程序已打开:

http://myapp.appspot.com/

我想做的是在用户导航到应用程序时使用 Google 帐户授权屏幕“问候”用户,并且只有在登录后,才能让他们看到应用程序的界面。

另一种方法是添加一个静态文件夹,假设是“premium”,在这种情况下,所有用户都可以在不登录的情况下看到应用程序的界面,但假设他们想进入:

http://myapp.appspot.com/premium/whatever.htm

因此,在这种情况下,我想将所有“/premium”URL 限制为登录用户...

我知道只需将此处理程序添加到我的“app.yaml”文件中即可轻松完成:

- url: /premium/.*
  script: premium.py
  login: required

但问题是,我不明白“premium.py”内容必须是什么......

你能帮我解决这个困惑吗?谢谢!

最佳答案

app.yaml 解决方案应该有效。但是您还询问了如何在 python 中执行此操作。两者都会起作用。两者都是不必要的。在这里:

from google.appengine.api import users

class Premium(webapp.RequestHandler):
  def get(self):
    user = users.get_current_user()
    if not user:
      this.redirect(users.create_login_url(this.request.uri))
    # Your normal page code here

(我假设您了解其余部分,或者您真的需要阅读 GAE hello world 教程)

清除浏览器 cookie!特别是当您使用本地开发环境时。您可能已登录但不知道!

关于python - 如何在 App Engine 中使用 Google Acounts API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788606/

相关文章:

python - 存在属性时 __init__ 之外的属性

python - 使用 python3 请求登录网站(Mediawiki)

python - Pandas 合并错误TypeError : '>' not supported between instances of 'int' and 'str'

google-app-engine - GAE 托管 VM 总是不健康地重新启动

jquery - 如何在另一个 ajax 调用后运行一个 ajax 调用?

python - 在运行时重新定义 Python 类

python - 尝试从 GAE python App 将文件写入 GCS 时出现 ForbiddenError

android - 从 Google Application Engine 创建 JSON 响应

android - 验证从 Google Android 客户端到 Google App Engine 的 POST 请求的简单方法?

authentication - 使用JSONP和Cookie进行跨域登录