JWTs состоят из трех частей, разделенных точками, которые являются (.):
- Header
- Полезная нагрузка
- Подпись
Таким образом, JWT, как правило, выглядит следующим образом.
xxxxx.yyyyy.zzzzz
Давайте посмотрим, краткое изложение в соответствии с RFC и this
Заголовок
Заголовок, как правило, состоит из двух частей: тип маркера, который JWT, и алгоритм хеширования, таких как HMAC SHA256 или RSA.
{
"alg": "HS256",
"typ": "JWT"
}
Полезная нагрузка
Вторая часть маркера является полезной нагрузкой, которая содержит формулу изобретения. Претензии - это заявления об объекте (обычно, пользователь) и дополнительных метаданных. Это интересная часть, потому что внутри маркера мы можем проверить, к чему вы относитесь. { «USERID»: «1234567890», « expiration_date»: «2016-05-129» }
Когда мы создаем новый маркер можно указать данные будут полезная нагрузка содержит, поэтому мы можем добавить идентификатор пользователя для идентификации пользователь и expiration_date, чтобы проверить, есть ли время, чтобы попросить новый.
Подпись
Чтобы создать часть подписи вы должны принять закодированный заголовок, закодированный полезный груз, секрет, алгоритм, указанный в заголовке, и знак того, что. Подпись используется для проверки того, что отправителем JWT является тот, кто это говорит, и чтобы сообщение не было изменено в пути.
стороны сервера
Мы должны сохранить наш секретный ключ в стороне сервера, следовательно, мы можем расшифровать действительный полезный груз и проверьте, какой пользователь принадлежит. Таким образом, мы можем избежать токенов магазина, потому что каждый токен хранит достаточно данных для проверки наших пользователей.
Как обновить токен ?: с клиентской стороны
Процесс генерации обновленных маркеров таким же, поэтому на стороне клиента должна попросить возобновить обслуживание (запрос HTTP как www.myhost.com/renew) и отправить старый токен, чтобы создать новый. Помните, что вы можете проверить, что пользователь принадлежит этому токену, поэтому токен обновления должен содержать одну и ту же полезную нагрузку, но с другой датой истечения срока действия.
Единый вход
Мы можем использовать JWT с большим количеством стратегий, как single sign-on обеспечить только один пользователь с теми же учетными данными протоколировать одновременно.
Я, наконец, понял, что это глупый вопрос. Я скоро ответю на это. – Ricardo
Я напишу ответ в этот уик-энд. – Ricardo