Данный раздел содержит описание методов, которые используются для аутентификации пользователя на платформе Twin.
Токен доступа (JWT) — способ представления аутентификационных данных в виде JSON-объекта для передачи между клиентом и платформой Twin.
Токен доступа состоит из следующих частей:
- header — заголовок (содержит данные в виде JSON объекта; кодируется при помощи алгоритма base64url);
- payload — полезная нагрузка (содержит данные в виде JSON объекта; кодируется при помощи алгоритма base64url);
- signature — подпись (вычисляется на основе указанных выше закодированных частей.
Части токена доступа разделяются точкой.
Пример токена доступа:
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpYXQiOjE2NDU0MTMwMjgsImV4cCI6MTY0NjAxNzgyOCwic3ViIjoiMzE1OSIsImNvbXBhbnlfaWQiOjE4MzAsInJvbGVzIjp7IjE4MzAiOlsiQ09NUEFOWV9BRE1JTiJdfSwiY29tcGFuaWVzIjp7IjU3NiI6MTgzMCwiNzQ4IjoxODMwLCI2MDUiOjE4MzAsIjYwOCI6MTgzMCwiNjUwIjoxODMwfSwidmVyc2lvbiI6M30.y0Y4sgoFLHuttuKDvPvQdlkxzivmwsuLO2Ucep1W-JcByNk76NbGWEKBjiQoCypZdVt4j4unjoIWcAjT-G_igHk9zLYN0oDz1y8AVYWP7TG2g1PMvJbQxoMyKuD6P9G5ZCnUJjQW5cy7hwrx7ZPetPbjyXCwW9TICEpJp9UTO5XlGomfwz1eC64kwuUVa1eNiRWSzCFukB9I3KUIThwvxRNQe-BxMBFWk1i93xESb6ZFUzSpxFNYxtGD5ryOzyHw5nUc7pcp_SaY_0hhfTuQqgFt8ncjKu1OU5xvayPt4hov7XQY5wA7KvRZseABLjtwG6uZPUsNFvaAvB0aXylwL_yocONyFLmX53knhi6TvD0BxaMtexVrHyuhouBN3noKeHCvcQqnTppyeOnv0OJa7Ihl_hVbNYK3o7L3qgPL6JeLFz9ew0OuFXn3sZZFBaNxrrHbbv8DpngT8i6eEPKnt0zROQlY-v1_C7K-J5TnnZsQ26biZb95stkqyvEroDfFu5Wm_i2DxUzpBd31AMWaMp3WfMLBtva14GrFYtHvTjk3SGAB9hTmg24GGJ7kwM0BSh79L8WVIzT_Pl6cX49h8Yr2zr-IZyVRYpc_hdatytFosBE8XRkZVyMUih1AITwSiaKFEXARKonk4pA1c3M_fHsJSaS93TFdk4AO0czB1gY
Пример заголовка:
{
"typ": "JWT",
"alg": "RS512"
}
Описание параметров заголовка
Наименование | Описание |
---|---|
typ | тип токена |
alg | алгоритм шифрования |
Пример полезной нагрузки:
{
"iat": 1645413028,
"exp": 1646017828,
"sub": "3159",
"company_id": 1830,
"roles": {
"1830": [
"COMPANY_ADMIN"
]
},
"companies": {
"576": 1830,
"605": 1830,
"608": 1830,
"650": 1830,
"748": 1830
},
"version": 3
}
Описание параметров полезной нагрузки
Наименование | Описание |
---|---|
iat | дата создания |
exp | время окончания срока действия |
sub | идентификатор пользователя платформы Twin |
company_id | идентификатор компании пользователя на платформе Twin |
roles | тип учетной записи пользователя платформы Twin |
companies | зависимые компании |
version |
Пример подписи:
RSASHA512(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),