小编Ale*_*lex的帖子

Angular2:令牌刷新捕获401错误

我是Angular2的新用户,尝试捕获401错误以进行令牌刷新,并计划重试原始请求...

这是我的authService.refresh方法:

refresh() : Observable<any> {
    console.log("refreshing token");
    this.accessToken = null;
    let params : string = 'refresh_token=' + this.refreshToken + '&grant_type=refresh_token';
    let headers = new Headers();
    headers.append('Authorization', 'Basic ' + this.clientCredentials);
    headers.append('Content-Type', 'application/x-www-form-urlencoded');

    return Observable.create(
        observer => {
            this._http.post('http://localhost:8080/oauth/token', params, {
                    headers : headers
            })
            .map(res => res.json()).subscribe(
                (data) => {
                    this.accessToken = data.access_token;
                    observer.next(this.accessToken);
                    observer.complete();
                },
                (error) => {
                    Observable.throw(error);
                }
            );
        });
 }
Run Code Online (Sandbox Code Playgroud)

然后我尝试在我的组件方法中使用刷新功能:

update(index : number) {
 let headers = new Headers();
 headers.append('Authorization', 'Bearer ' + this._authService.accessToken); …
Run Code Online (Sandbox Code Playgroud)

rxjs typescript angular

8
推荐指数
1
解决办法
6744
查看次数

标签 统计

angular ×1

rxjs ×1

typescript ×1