Django перенаправить на предыдущую страницу после внешнего входа в OAuth - PullRequest
4 голосов
/ 30 июня 2010

Я использую Twitter OAuth для входа в систему. При входе в систему пользователи отправляются в Twitter, а после успешного завершения OAuth возвращает их по указанному URL По этой ссылке я бы хотел перенаправить пользователей обратно на страницу, на которой они находились до входа в систему.

Какой хороший способ сделать это?

Ответы [ 2 ]

3 голосов
/ 30 июня 2010

Два способа:

  1. Создайте свой URL OAuth, чтобы он отправлял их обратно на нужную страницу или, по крайней мере, сказал next=url в строке запроса. Это наиболее надежно, но может сломаться (и выглядит уродливо, но кто вообще копирует и вставляет OAuth-URL?)

  2. Сохранить сеанс, содержащий последнюю запрошенную «реальную» страницу. Я говорю "реальный", потому что я не считаю настоящие страницы авторизации / регистрации. Поэтому при каждом обращении проверяйте, по какому URL они относятся, если он не связан с аутентификацией, сохраняйте его в сеансе. Когда они попадут на вашу страницу OAuth-auccess, перенаправьте их на значение сеанса. Вы можете сделать это в контекстном процессоре или некотором промежуточном программном обеспечении. Требуются файлы cookie, и выход из системы приведет к его уничтожению.

0 голосов
/ 09 октября 2012

Я использую URL перенаправления в твиттере, и он работает для меня ..

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