首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular2-jwt没有用于AuthConfig的提供程序

angular2-jwt没有用于AuthConfig的提供程序
EN

Stack Overflow用户
提问于 2016-09-02 21:49:44
回答 4查看 5.4K关注 0票数 11

我正在为rc5的angular2-jwt文档而苦苦挣扎。

这是我的NgModule

代码语言:javascript
复制
import { AuthHttp } from 'angular2-jwt';



 @NgModule({
  imports: [ BrowserModule, 
             routing,
             HttpModule,
             FormsModule,

            ],
  declarations: [ 
                  AppComponent,
                  LoginComponent, 
                  NavbarComponent,
                  DashboardComponent,
                  ModelsComponent
                ],
  providers: [AuthGuard,
              ModelService,
              AuthHttp
              ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

这是我的服务

代码语言:javascript
复制
import { Injectable } from '@angular/core';
import {Http} from '@angular/http';
import 'rxjs/add/operator/map';
import { Model } from './model';
import { AuthHttp } from 'angular2-jwt';
import {Observable} from "rxjs/Rx";

@Injectable()
export class ModelService {
  private _url = "http://127.0.0.1:8050/test/model";

  constructor(private _http: Http,private _authHttp: AuthHttp){
    //this.jwt = localStorage.getItem('id_token');
  }


  getPollModles(){
    return Observable.interval(5000).switchMap(() => this._authHttp.get(this._url)).map(res => res.json());
  }

}

如何让angular2_jwt与rc5协同工作?

当我将我的服务添加到构造器时,我得到了下面的错误。

代码语言:javascript
复制
constructor(private route: ActivatedRoute,
                public router: Router,
                private modelService: ModelService) 

core.umd.js:5995EXCEPTION: Uncaught (in promise): Error: Error in ./ModelsComponent class ModelsComponent_Host - inline template:0:0 caused by: No provider for AuthConfig!
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-09-02 22:55:19

如下所示的app.module导入:

代码语言:javascript
复制
import { AuthHttp, AuthConfig, AUTH_PROVIDERS, provideAuth } from 'angular2-jwt';

并添加提供程序:

代码语言:javascript
复制
providers: [        
        AuthHttp,
        provideAuth({
            headerName: 'Authorization',
            headerPrefix: 'bearer',
            tokenName: 'token',
            tokenGetter: (() => localStorage.getItem('id_token')),
            globalHeaders: [{ 'Content-Type': 'application/json' }],
            noJwtError: true
        })
    ],
票数 18
EN

Stack Overflow用户

发布于 2016-09-02 22:13:04

你必须在你的NgModule中提供所有注入的依赖项。将AuthConfig添加到@NgModule的声明中。

编辑:这可能是无稽之谈。

您是否已将angular2-jwt更新到当前版本?

票数 0
EN

Stack Overflow用户

发布于 2016-09-27 17:05:42

如果提供程序的顺序错误,也可能发生此错误:

代码语言:javascript
复制
providers: [
  provideAuth({
    headerName: 'Authorization',
    headerPrefix: 'my-bearer-prefix',
    tokenName: 'my-token-name',
    tokenGetter: (() => localStorage.getItem('token')),
    globalHeaders: [{ 'Content-Type': 'application/json' }],
    noJwtError: true
  }),
  AuthHttp
]

导致Angular 2.0.0和angular2-jwt 0.1.23错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39294049

复制
相关文章

相似问题

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