#angular #typescript
#angular #typescript
Вопрос:
Я хочу декодировать токен. Но я пойду с предупреждением.
npm install jwt-decode --save
component.ts:
import * as jwt_decode from 'jwt-decode';
.
.
.
console.log("Yes");
localStorage.setItem('token', res.token);
this.flagProgressBar = false;
console.log('res.token: ');
console.log(res.token);
console.log('localStorage token:');
console.log(localStorage.getItem('token'));
const tokene = res.token;
const decoded = jwt_decode(tokene);
console.log(tokene);
console.log(decoded);
консоль:
Yes
res.token:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy5taWNyb3NvnQuY29tL3dzLzIwMgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOiJGdWxsQWRtaW4iLCJleHAiOjE2MDM5MjEzNzMsImlzcyI6Imh0dHBzOi8vbG9jYWxob3N0OjQ0MzU0In0.-e7cYAgQQVTcHlPrw1sWn6IsjhVPfjlItx9XGIn3S9w
localStorage token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy5WNybNvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOiJGdWxsQWRtaW4iLCJleHAiOjE2MDM5MjEzNzMsImlzcyI6Imh0dHBzOi8vbG9jYWxob3N0OjQ0MzU0In0.-e7cYAgQQVTcHlPrw1sWn6IsjhVPfjlItx9XGIn3S9w
ERROR TypeError: jwt_decode__WEBPACK_IMPORTED_MODULE_2__ is not a function
at SafeSubscriber.Service.postDataLogin.subscribe.flagProgressBar [as _next]
Можно ли сказать, в чем моя проблема?
Комментарии:
1. Не могли бы вы показать, как вы импортируете эту
jwt_decode
функцию?
Ответ №1:
Для более новой версии (3 и выше):
jwt_decode импортирован неправильно попробуйте это import jwt_decode from 'jwt-decode';
Ответ №2:
Быстрые примеры шагов приложения, чтобы начать работу с декодированием jwt:
- Установить пакет https://github.com/auth0/jwt-decode#readme
- Импортируйте зависимость в свой сервис: импортируйте * как jwt_decode из ‘jwt-decode’;
- Попробуйте этот пример кода
// Use valid jwt token;
var token = 'eyJ0eXAiO...';
var decoded = jwt_decode(token);
console.log(decoded);
Ошибка, о которой вы сообщили, в основном возникает, если шаги 1 и 2 выполняются неправильно.
Комментарии:
1. импортируйте jwt_decode из «jwt-decode»; Замените import * как jwt_decode из «jwt-decode»;
Ответ №3:
Это для более старых версий
import * as jwt_decode from "jwt-decode";
Для более новой версии (3 и выше):
import jwt_decode from 'jwt-decode';