Как использовать API Google Acounts в App Engine? - PullRequest
2 голосов
/ 25 января 2011

У меня есть веб-приложение на основе Python, в котором я хотел бы использовать учетные записи Google, чтобы позволить пользователям входить в систему. Это просто, скажем, мое приложение включено:

http://myapp.appspot.com/

Что я хочу сделать, так это «приветствовать» пользователей с помощью экрана авторизации учетных записей Google при переходе к приложению, и только после входа в систему они должны видеть интерфейс приложения.

Другой способ сделать это - добавить статическую папку, скажем, «премиум», и в этом случае все пользователи смогут видеть интерфейс приложения без входа в систему, но, скажем, они хотят войти в:

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

Итак, в этом случае я бы хотел ограничить все URL-адреса "/ premium" зарегистрированными пользователями ...

Я понимаю, что это легко сделать, просто добавив этот обработчик в мой файл "app.yaml":

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

Но дело в том, что я не понимаю, каким должен быть контент "premium.py" ...

Можете ли вы помочь мне с этим замешательством? Спасибо!

1 Ответ

1 голос
/ 30 января 2011

Решение 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)

Очистите куки вашего браузера! Особенно, когда вы используете локальную среду разработки. Возможно, вы вошли в систему и не знаете этого!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...