错误错误:没有JwtHelper的提供者

时间:2017-06-21 11:54:08

标签: angular authentication web jwt

我是Angular2的新手,我使用jwthelper编码jwt令牌并提取详细信息。

import { Injectable } from '@angular/core';

import { JwtHelper } from 'angular2-jwt';

@Injectable()
export class SessionService {

  constructor(private jwtHelper: JwtHelper){}

  getUser(){
    var token = JSON.parse(localStorage.getItem('currentUser'));
    return this.jwtHelper.decodeToken(token.token);
  }
}

无法找到以下错误的解决方案,并告诉我这里的错误。

  

错误错误:没有JwtHelper的提供者!

1 个答案:

答案 0 :(得分:11)

这是因为您尝试在组件/服务的构造函数中注入JwtHelper。仅对提供商 完成此操作。

根据using jwthelper in components部分,您必须创建一个新对象并使用它。

在您的服务中,

constructor(){} //remove from constructor.

  getUser(){
    let jwtHelper: JwtHelper = new JwtHelper();
    var token = JSON.parse(localStorage.getItem('currentUser'));
    return this.jwtHelper.decodeToken(token.token);
  }