Google App Engine и аутентификация Google с перенаправлением и HTTP POST - PullRequest
0 голосов
/ 28 октября 2009

У меня есть форма, и мне нужно отправить контент на сервер.

Я использую аутентификацию Google, потому что только авторизованные пользователи могут отправлять на сервер.

Форма выглядит примерно так:

<form action="/blog/submit" method="post">
...
</form>

Аутентификация необходима только при отправке, а не при входе на страницу формы. Поэтому в контроллере отправки я использовал что-то вроде этого:

class SubmitPage(webapp.RequestHandler):
    def post(self):
        if users.get_current_user() is None:
            self.redirect(users.create_login_url(self.request.uri))
            ...

Проблема в том, что URL-адрес возврата в перенаправлении выполняется только с HTTP GET, а не с HTTP POST, как я хотел.

Я хотел бы пройти проверку подлинности и затем перенаправить на страницу отправки (POST), но он пытается выполнить GET по тому же URL.

Можно ли реализовать то, что я хочу?

1 Ответ

3 голосов
/ 28 октября 2009

Нет, данные POST не могут следовать за перенаправлением HTTP.

Вы почти наверняка должны проверить регистрацию перед тем, как отобразить форму, в которой эти данные публикуются в первую очередь, но как только пользователь попадет в форму, вам лучше всего сохранить контент в хранилище данных, связанном с сеансом Идентификатор, который вы генерируете, либо установите его в качестве файла cookie, либо добавьте его в URI перенаправления, чтобы вы могли получить его снова, когда пользователь вернется со страницы входа в систему.

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