Как сформировать JSON Web Token

Токен состоит из трех частей, разделенных точкой (.):

  1. Заголовок
  2. Полезные данные
  3. Подпись

Заголовок

Заголовок состоит из двух полей: тип токена и алгоритм формирования подписи:

{
  "alg": "HS256",
  "typ": "JWT"
}

Полезные данные

Полезные данные содержат обязательные и необязательные поля.

Параметр Обязательный Описание
jti да Уникальный идентификатор токена
iss да Store Id
iat да Время выпуска токена (Unix epoch)
email да Email
name да Полное имя
exp нет Время экспирации токена (Unix epoch)
picture нет URL аватара
phone нет Телефон

Пример:

{
   "jti":   "b219a441cfc9e6419fe87d1ed55eae7a",
   "iss":   "57a1dd0955b4a36599000003",
   "iat":   "1471512369", 
   "exp":   "1471512400",
   "email": "grushenka@yandex.ru", 
   "name":  "Аграфена Петрова", 
   "phoner": "+79651755423"
}

Подпись

Чтобы создать подпись, необходимо иметь закодированные с помощью алгоритма Base64 заголовок и полезные данные, а также секретный ключ.

Пример формирования токена (псевдокод):

header    = {...}
header64  = base64UrlEncode(header)
payload   = {...}
payload64 = base64UrlEncode(payload)
signature = HMACSHA256(header64 + "." + payload64, <YOUR SECRET CODE>)
token     = header64 + "." + payload64 + "." + signature

Секретный код (YOUR SECRET CODE) указывается в личном кабинете.

Ресурсы

results for ""

    No results matching ""