Мне нужно преобразовать строку в HMA C SHA1, а затем кодировать base64, но возникают проблемы - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь получить jwt cook ie через конечную точку на моем сервере.

Это код из nginx, который создает токен доступа:

local expected_token = ngx.encode_base64(ngx.hmac_sha1(token_secret, cb_server_name .. email .. expires))

Теперь мне нужно скопировать этот код в узле, но я бью некоторые стены ...

Это мой код узла:

const secret = process.env.TOKEN_SECRET
const cb_server_name = process.env.SERVER_NAME
const email = process.env.EMAIL
const expires = Math.floor(Date.now() / 1000) + 3600

const message = `${cb_server_name}${email}${expires}`
const encrypted = CryptoJS.HmacSHA1(message, secret)
const token = CryptoJS.enc.Base64.stringify(encrypted)

// I have also tried:
const token = encrypted.toString(CryptoJS.enc.Base64)

Когда я передаю token с моей просьбой я не получаю ответ, который ищу. Я уверен, что моя Base64-кодировка неверна, но я не уверен на 100%. Я был бы очень признателен за помощь.

Спасибо.


Редактировать:

Пример закодированного токена из nginx: goCkSE2NrZoPxMpJTo+bcU6xXhw= Кодированный токен im получение от узла: RKA4T6wfHIArtWbj5tjeSvrl21c=

...