Можно ли установить переменную postman из значения в токене JWT?

#variables #oauth-2.0 #jwt #postman #access-token

#переменные #oauth-2.0 #jwt #postman #токен доступа

Вопрос:

Я настроил Postman для получения моего токена доступа JWT от моего поставщика удостоверений. Я хотел бы сохранить некоторые свойства, хранящиеся в токене доступа, в качестве переменных (например, sub, aud, scope).

jwt.io может декодировать токен доступа, поэтому мне было интересно, есть ли что-нибудь в Postman (я ничего не смог найти) или какой-то другой способ сделать это.

Комментарии:

1. youtube.com/…

Ответ №1:

Postman поддерживает библиотеку cryptojs: https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/#using-external-libraries

Добавьте приведенный ниже пример в тестовый скрипт postman:

 let jwt = `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ0b3B0YWwuY29tIiwiZXhwIjoxNDI2NDIwODAwLCJodHRwOi8vdG9wdGFsLmNvbS9qd3RfY2xhaW1zL2lzX2FkbWluIjp0cnVlLCJjb21wYW55IjoiVG9wdGFsIiwiYXdlc29tZSI6dHJ1ZX0.UsrGn95rk5DStcC_WwIr3WIv5rHe2IApX56I58l8uyo`

a = jwt.split('.');


//a.forEach(function (val) {
    var words = CryptoJS.enc.Base64.parse(a[1]);
    var textString = CryptoJS.enc.Utf8.stringify(words);

    console.log(textString)
//})
 

Вывод:

введите описание изображения здесь

hmacSHA256 — это не алгоритм шифрования, а алгоритм хеширования, поэтому его невозможно декодировать, поскольку хеширование является односторонней функцией.

поскольку последняя часть имеет вид

 HMACSHA256 of ( base64(header)   "."   base64(body) )
 

вы можете попробовать создать его и приравнять оба значения к равным