@dizlv

Как сделать единый сервис логина/регистрации для разных модулей одного проекта?

Проект на Django. На данный момент логин/регистрация сделана через стандартные Django'вские инструменты.
Стоит задача сделать единый логин для Web интерфейса (не rest api), мобильных приложений и проч.

Т.е. в моем понимании, это должно выглядеть примерно так:

форма логина - логинимся через что угодно, для всего используется один интерфейс, реализация которого будет решать куда слать запрос дальше - social network, наша собственная бд и т.д., получаем сессию/токен и работаем с этим дальше.

Смотрел в сторону oauth2, но не совсем понимаю, как это реализовать.
Может, кто-то сталкивался с похожими задачами? Что делать?
  • Вопрос задан
  • 257 просмотров
Пригласить эксперта
Ответы на вопрос 1
nmk2002
@nmk2002
работаю в ИБ
Рекомендую рассмотреть SAML. При попытке открыть веб-ресурс в первый раз пользователь получит редирект на Identity Provider, то есть на сервер аутентификации. Тот предложит аутентифицироваться и после этого редиректнет пользователя с токеном доступа обратно на ресурс. Для следующих ресурсов редиректы будут производиться без необходимости повторной аутентификации.
OAuth2 тоже вариант, хотя изначально это стандарт авторизации, то есть предоставления прав. Но можно косвенно аутнтифицировать пользователя. Для этого варианта вам так же нужен сервер аутентификации, поддерживающий этот стандарт.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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