JWT всегда требует токен доступа и обновляет токен? - PullRequest
0 голосов
/ 01 мая 2019

ИМХО, есть два способа подписи токена JWT в OAuth2.0 - с использованием алгоритма симметричного хеширования (например, HS256) или алгоритма асимметричного хеширования (RS256).

Если мы используем асимметричный алгоритм хеширования, такой как RS256, требуется ли нам токен доступа и токен обновления? Я полагаю, что они не требуются, поскольку независимо от утверждений, представленных в полезной нагрузке, сервер ресурсов может проверять независимо (при условии, что ему известен открытый ключ сервера авторизации).

Тогда каков вариант использования токена доступа и токена обновления? Требуется только для симметричного хеширования?

Пожалуйста, помогите мне лучше понять это. Заранее спасибо.

1 Ответ

0 голосов
/ 01 мая 2019

Основная идея маркера доступа как JWT заключается в том, что вам не нужно каждый раз заходить на сервер авторизации.Вы можете проверить это самостоятельно, проверив подпись.Это может удалить большой трафик с сервера / базы данных авторизации.
Вы захотите использовать асимметричный алгоритм хеширования, чтобы у эмитента был личный ключ, и он был единственным, кому разрешено выдавать токены, и вы можете проверить JWT с помощьюоткрытый ключ.
Токен обновления - это то, что проверено для БД и может быть отозвано.
Каждый раз, когда срок действия токена истекает, вы используете токен обновления, чтобы получить новый токен доступа от эмитента.

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

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