Задать вопрос
Shshzik
@Shshzik
Начинающий

Как использовать сессии на двух сайтах в django?

Есть 2 сайта.
Структура сайта такова:
env ( Окружение )
one ( основная папка проекта )
-manage.py ( файл управления первого сайта )
-manage_another.py ( файл управления второго сайта )
-one
--settings_all.py ( Файл настроек с общими настройками для обоих сайтов )
--settings.py ( Файл настроек первого сайта )
--settings_another.py ( Файл настроек второго сайта )
--wsgi.py ( wsgi первого сайта )
--wsgi_another ( wsgi второго сайта )

У этих двух сайтов одна БД.
Запускаю 2 экземпляра runserver:
python manage.py runserver ( Для первого сайта )
python manage_another.py runserver 127.0.0.2:8000 ( для второго сайта )

Как между двумя этими сайтами на 1 БД сделать одинаковые сессии и куки? Это нужно для реализации общего кабинета на этих сайтах.
  • Вопрос задан
  • 299 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Assargin
@Assargin
Перед ответом смотрю наличие ✔ в ваших вопросах
Два сайта на разных доменах не могут увидеть куки друг друга (браузер просто не отправит чужие куки), и соответственно - сессию тоже не удастся разделить.

Если есть ресурсы сделать всё хорошо, то можно заморочиться с OAuth2. Этот протокол, грубо говоря, позволяет авторизоваться на одном из сайтов с помощью другого. Например, так во всём интернетике работает авторизация по соцсетям. Есть хорошая библиотека django-allauth, которая поддерживает авторизацию для очень многих провайдеров.

Если вам использование какой-нибудь соцсети не подходит (то есть вы сами хотите выступать как провайдер), то в вашем случае я вижу 2 варианта:
  • авторизовываться на одном из этих двух сайтов с помощью второго. То есть, один из сайтов будет провайдером OAuth2
  • то же самое, но сделать для этого отдельный проект (который и будет провайдером OAuth2), чисто для авторизации на ваших двух сайтах. Так работают, например, проекты TM: для авторизации на сайтах habrahabr.ru, geektimes.tu, toster.ru и т.д. используется id.tmtm.ru
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
кука зависит от домена, толку что она для другого будет одинаковой?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы