действие после входа в аккаунт Google - PullRequest
0 голосов
/ 05 июня 2011

Я новичок в движке приложений Google, поэтому мой вопрос может быть глупым или тривиальным, но в любом случае ... Для каждого пользователя (для каждого аккаунта Google) у меня есть сущность в моем хранилище данных.Поэтому, когда новый пользователь входит в систему, я хочу добавить его в базу данных.Я использую:

- url: /.*
  login: required

Чтобы убедиться, что пользователь вошел в систему с его Google Acc.Проблема в том, что когда кто-то входит в систему со страницы (blabla.appspot.com/something), то после входа он будет перенаправлен на blabla.appspot.com/something, и я должен проверить в обработчике запросов «что-то», если текущийпользователь уже хранится в базе данных.Как это сделать, не добавляя один и тот же код в каждый обработчик запросов?Может быть, после входа можно перенаправить на главную страницу или что-то подобное?

1 Ответ

1 голос
/ 05 июня 2011

Вот простой подход: если вы создаете подкласс webapp.RequestHandler, который затем будут обрабатывать ваши обработчики, вы можете предоставить ему удобный метод для получения или создания UserInfo объекта с учетом users.get_current_user().user_id() (или .user_email(), если это то, что вы предпочитаете использовать в качестве ключа).Затем ваши обработчики вызывают вспомогательный метод в своих get() и post() методах.

class MyRequestHandler(webapp.RequestHandler):
  def setup_user_info(self):
    # left as an exercise
    self.user_info = user_info

, а затем

class MyHandler(MyRequestHandler):
  def get(self):
    self.setup_user_info()
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...