angle2-jwtプラグインでIonic 2の最終バージョンを使用しています。私は正常にログインすると、私はページを更新し、私はトークン送信したことがない私のauth.tsヘッダーで承認をチェックしてみたら、私はストレージにIonic 2アプリはストレージからJWTトークンを取得しません
this.storage.set('id_token', res.token);
を保存したトークン受けています。私は問題が非同期ストレージであることを理解していますが、解決方法はわかりません。私は多くの異なるソリューションを試しました...
また、私の定数にトークンを保存すると、それは完全に正常に動作します。
...
export function getAuthHttp(http) {
return new AuthHttp(new AuthConfig({
noJwtError: true,
globalHeaders: [{'Content-Type': 'application/json', 'x-academy': 'academy'}],
tokenGetter:() => storage.get('id_token'),
}), http);
}
...
providers: [
{provide: ErrorHandler, useClass: IonicErrorHandler},
{provide: AuthHttp, useFactory: getAuthHttp, deps: [Http]}
...
]
そして、私のauth.ts:
...
@Injectable()
export class Auth {
serverUrl: string;
storage: Storage = new Storage();
constructor(public http: Http,
public authHttp: AuthHttp,
public constantsService: ConstantsService,
) {
this.serverUrl = this.constantsService.API_ENDPOINT();
}
login(credentials){
let headers = new Headers({'Content-Type': 'application/json', 'x-academy': 'academy' });
return this.authHttp.post(this.serverUrl+'/login', JSON.stringify(credentials), {headers: headers})
}
....
public checkAuthentication(){
return this.authHttp.post(this.serverUrl+'/restricted',{})
}
....
ありがとう
私app.module.tsは、このようになります。
このコードを見ている人にとっては、すべてが良いと言えるでしょう。私は本当のことを覚えておくのを忘れた...はい、私は知っている... – ACES