首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular2-jwt :忽略useFactory指令

angular2-jwt :忽略useFactory指令
EN

Stack Overflow用户
提问于 2017-01-10 21:57:54
回答 1查看 229关注 0票数 3

我正在努力集成angular2-jwt包。我已经编写了以下带有自定义配置选项的函数

代码语言:javascript
复制
import { Http, Headers, RequestOptions } from '@angular/http';
import { provideAuth, AuthHttp, AuthConfig } from 'angular2-jwt';
import { Injectable } from '@angular/core';

export function authHttpServiceFactory(http: Http, options: RequestOptions) {

    return new AuthHttp( new AuthConfig({
        noTokenScheme: true,
        tokenGetter: (() => JSON.parse(     localStorage.getItem('access_token') ) ),
        globalHeaders: [{'Accept': 'application/json'}],
    }), this.http, this.options); 
}

在我的模块定义中,我包含了以下几行

代码语言:javascript
复制
providers: [
    ...,
    {
      provide: AuthHttp,
      useFactory: authHttpServiceFactory,
      deps: [Http, RequestOptions]
    }        
],

但是,当我试图在服务中使用AuthHttp时,它似乎忽略了我的工厂方法,并返回了一个默认实现:

从‘angular2-jwt’导入{ AuthHttp };

@Injectable()导出类SsoService {

代码语言:javascript
复制
constructor (
    private authHttp: AuthHttp,
) {}

我的模块配置是否正确?我错过了什么简单的东西吗?

EN

回答 1

Stack Overflow用户

发布于 2017-01-10 22:41:58

对于其他任何人,我将模块更改为使用内联解决方案,而不是工厂类,如下所示:

代码语言:javascript
复制
  providers: [
      ...
      AuthHttp,
      provideAuth({
          noTokenScheme: true,
          tokenGetter: (() => JSON.parse( localStorage.getItem('access_token') ) ),
          globalHeaders: [{'Accept': 'application/json'}],
      })      
  ],
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41570593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档