Удалить «Носитель» из заголовка токена, не внедрив собственную схему аутентификации или не проанализировав токен? - PullRequest
0 голосов
/ 31 мая 2018

В настоящее время используется схема аутентификации JWT, в которой токены имеют в схеме «Bearer:». Можно ли удалить префикс «Bearer», чтобы мне не нужно было добавлять его на стороне клиента только для его анализа наснова бэкэнд? Есть ли способ сделать это без реализации пользовательской схемы (то есть, все еще используя схему Bearer) И без необходимости анализировать фактический токен для текста «Bearer:»?

Прямо сейчас,код выглядит следующим образом:

var token = req.headers.authorization;
var newToken = token.replace("Bearer ", "");
jwt.verify(newToken, jwtSecret, function (err, success) {
 if (err) {
  return res.
          status(401).
          end('Unauthorized, invalidtoken');
 } else {
  return next();
 }
})

В идеале это должно быть реализовано так:

var token = req.headers.authorization;
jwt.verify(token, jwtSecret, function (err, success) {
 if (err) {
  return res.
          status(401).
          end('Unauthorized, invalidtoken');
} else {
  return next();
}
})

Это будет нормально? Каковы последствия удаления "Bearer" из заголовков авторизации jwt?

Спасибо

1 Ответ

0 голосов
/ 14 июня 2018

Нет программных отличий от удаления токена Bearer при форматировании заголовка запроса.Если вы решите это сделать, вы нарушаете стандарты RFC и HTTP.Это похоже на отправку полезной нагрузки в ответе GET и сохранение данных в базе данных.

Использование токенов на предъявителя, полученных из конструкции Oauth, поэтому посмотрите здесь стандарты.

...