I have the following Module declaration:
import { ConnectionService } from './services/connection.service';
import { NgModule } from '@angular/core';
import { Http, RequestOptions } from '@angular/http';
import { AuthHttp, AuthConfig } from 'angular2-jwt';
export function authHttpServiceFactory(http: Http, options: RequestOptions) {
  return new AuthHttp(new AuthConfig({
    tokenName: 'token',
    tokenGetter: (() => sessionStorage.getItem('token'))
  }), http, options);
}
@NgModule({
  providers: [
    {
      provide: AuthHttp,
      useFactory: authHttpServiceFactory,
      deps: [Http, RequestOptions]
    }
  ],
})
export class AuthModule { }
and Service:
import { Injectable } from '@angular/core';
@Injectable()
export class ConnectionService {
    id;
    getToken() {
        return JSON.parse(sessionStorage.getItem('token'))[this.id];
    }
}
I need to use the Services method "getToken" in the tokenGetter on the Modules exported function, but I can't make it work and Google hasn't answered my question (or I haven't been able to look properly).
Hi can you try like this
export function authHttpServiceFactory(http: Http, options: RequestOptions) {
  return new AuthHttp(new AuthConfig({
       tokenName: 'token',
       tokenGetter: (() => new ConnectionService().getToken())
       }), http, options);
 }
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With