我在Spring中使用OAuth2并拥有资源服务器和身份验证服务器。我尝试从Angular2向资源服务器发送GET。我得到302回应OPTIONS。我在日志中看不到任何内容。无论是资源服务器还是授权服务器。
有没有人知道如何调试这个?可能是Spring在我的代码到达之前以某种方式发回302。
这是我的角度代码(保留注释掉的行以显示我已经尝试过的内容)
import { Injectable } from '@angular/core';
import { AuthHttp } from 'angular2-jwt/angular2-jwt';
import { Observable } from 'rxjs/Observable';
import { Http, Headers } from '@angular/http';
import { tokenNotExpired } from 'angular2-jwt';
import { Common } from '../common/common';
@Injectable()
export class ResourceService {
constructor(private authHttp: AuthHttp, private http: Http) {
}
getResource(): Observable<any> {
console.debug('requesting resources... tokenNotExpired: ' + tokenNotExpired());
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('Accept', 'application/json');
// headers.append('Access-Control-Request-Method', 'GET');
let authToken = localStorage.getItem(Common.tokenName);
// console.debug('authToken: ' + authToken)
var authJson = JSON.parse(authToken);
// console.debug('authJson: ' + authJson);
// console.debug()
headers.append('Authorization', `Bearer ${authToken}`);
headers.append('x-access-token', authToken);
//headers.append('Authorization', 'Basic ' + localStorage.setItem(Common.tokenName));
return this.authHttp.get('http://localhost:9998/resource', { headers: headers });
//return this.http.get('http://localhost:9998/resource', {headers: headers}).map(res => res.json());
//return this.http.get('http://localhost:9998/resource').map(res => res.json());
}
}
答案 0 :(得分:0)
好的,这是我们所有人的春天新手。
后来有40.000个试验组合我认为我发现了302的问题。我将server.context路径设置为“resource”。我认为这是导致OPTIONS重定向的原因。