Вопрос №55357 от пользователя Илья в проекте «Чат (Slack)»

Илья

Добрый день! У меня возник такой вопрос по авторизации.

Есть два токена access и refresh. Правильно ли их хранить в localStorage. В сессиях и cookie я как понял особого смысла нет потому что они сохраняются на одном домене.

Ну что если есть два отдельный домена с единой авторизацией и пользователь авторизовавшись на одном из них решил перейти на другой по ссылке или просто руками ввёл новый адрес.

Получается при таком переходе токен не будет браться из localStorage и передаваться на новый домен. По идее нужно будет заново авторизоваться.

А если в одном из этих случаях получилось так что при переходе на новый домен время жизни токена кончилось. Как другой домен сможет обновить токен если он его изначально не подписывал.

Исходя из это у меня два вопроса.

Где будет правильно хранить токены для авторизации? Получается в идеале браузер сам должен их отправлять, или каждый из доменов на стороне клиента должен будет попытаться получить токен?

И второй как сервис B сможет обновить access токен подписанный в сервисе A если сам сервис у себя ничего сохраняет?

Заранее спасибо!

2 0

Roman Makarov

Как правило, используется редирект на сервис авторизации, который выдаёт токены для каждого из доменов. Токен может сохраняться в localStorage и передаваться из iframe с сервисом авторизации через postMessage. Сервис авторизации может запоминать пользователя путём установки токена или куки с тем, чтобы при редиректе с домена, на котором пользователь ещё не залогинен (но залогинен на другом) не запрашивать логин/пароль.

1

Илья

Спасибо за развернутый ответ, стало понятно как работает!

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев