2
だから私はHttpModule
とangular2-jwt
libを使っていた私の "古い"コードを移行しています。私は、以下の設定とangular2-jwt
仕事作ることができ、前に依存関係を@ auth0-angular-jwtに渡す方法は?
:
export function authHttpServiceFactory(
http: Http, options: RequestOptions, myService: MyService) {
return new AuthHttp(new AuthConfig({
globalHeaders: [{'Content-Type': 'application/json'}],
noJwtError: true,
tokenGetter: (() => myService.get('my_token'))
}), http, options);
}
@NgModule({
providers: [
{
provide: AuthHttp,
useFactory: authHttpServiceFactory,
deps: [Http, RequestOptions, MyService]
}
]
})
export class AuthModule {}
を...しかし、今、新しいHttpClientModule
でそれを使用するために私がangular2-jwt
(@auth-angular-jwtの新しいバージョンを使用する必要があります - 私はそれがまだベータ版バージョンであることを知っています)私はトークンを取得するために私のサービスにアクセスする必要があることを理解しようとしています。
私の実際の設定は、(gitのの例と同じ)である:
@NgModule({
// ...
imports: [
HttpClientModule,
JwtModule.forRoot({
config: {
tokenGetter:() => {
return <myService>.getToken(); // Here
}
}
})
]
})
export class AppModule {}
ことは可能ですか?前もって感謝します。
あなたの答えのおかげで、残念ながらそれはしていません(少なくとも私のために)...それは次のエラーをスローする: 'ヌルのプロパティ' split 'を読むことができません。 'tokenGetter'が' useFactory'で設定されていてもnullであるようです。 –
私と同じソリューションが期待通りに機能します。プロバイダのオーバーライドはAngularではかなり簡単ですが、JWT_OPTIONSを提供し、JwtModuleをさまざまなモジュール(競合状態)にインポートすると機能しないことがあります。コンパイルエラーがなく、最新のパッケージバージョン(1.0.0-beta.6)を使用してください。 JwtModuleをインポートするのではなく、そのようなモジュールを[providers] [https://github.com/auth0/angular2-jwt/blob/v1.0/index.ts#L33-L44]で再アセンブルしようとすることはできますが、結果は上記と同じになります。 – estus
私は 'app.module'ですべてをやっていますが、コンパイルエラーはなく、バージョンは最新です(1.0.0-beta.6)。 –