В чем разница между использованием маркера обновления и Silent Authentication for SPA? - PullRequest
0 голосов
/ 15 января 2019

Насколько я понимаю, вы не должны выдавать токен обновления для SPA. Но есть варианты получить новый токен доступа, такой как тихая аутентификация.

Для простоты вы предоставляете токен обновления на сервер авторизации (AS) и получаете новый токен доступа. При автоматической аутентификации вы передаете текущий токен доступа какой-либо конечной точке AS, и если он действителен, вы получаете новый токен доступа.

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

1 Ответ

0 голосов
/ 15 января 2019

При тихой аутентификации вы передаете текущий токен доступа некоторой конечной точке в AS, и если он действителен, вы получаете новый токен доступа.

Это не правильно.

Поток с тихой аутентификацией выглядит так:

Сервер аутентификации (AS) и Клиент (SPA)

  • SPA перенаправляет пользователя для входа в систему с AS.
  • AS регистрирует пользователя и перенаправляет обратно в SPA с токеном доступа, который может использоваться для доступа к API
  • SPA вызывает API, пока не получит 401. (или использует какой-то другой механизм, чтобы выяснить время для получения нового токена доступа)
  • СПА делает молча ПОЛУЧИТЬ AS authorize конечная точка при попытке получить новый токен доступа. Это не необходимо предоставить старый маркер доступа с истекшим сроком действия.
  • IF AND ONLY У пользователя все еще есть действительный сеанс с AS (скорее всего, какой-то файл cookie авторизации), тогда AS будет ответ с действительным токеном доступа (если AS считает, что запрос действует).

Хорошая статья , объясняющая тихую аутентификацию

Почему предпочитать auth cookie вместо обновления токена - этот вопрос проясняет это.

...