【问题标题】:ERROR Error: No provider for JwtHelperERROR 错误:没有 JwtHelper 的提供者
【发布时间】:2017-11-24 07:33:30
【问题描述】:

我是 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 的提供者!

【问题讨论】:

    标签: angular authentication web jwt


    【解决方案1】:

    这是因为您试图在组件/服务的构造函数中注入 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);
      }
    

    【讨论】:

    • 这是在服务中使用 jwthelper 的最有效方式吗?
    • 检查here它只是一个没有任何装饰器的导出类..
    • 现在我可以理解了。
    猜你喜欢
    • 2018-04-24
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 2015-07-26
    • 1970-01-01
    • 2018-05-22
    相关资源
    最近更新 更多