0
私はSpringでOAuth2を使い、リソースサーバーと認証サーバーを持っています。私はAngular2からリソースサーバーにGETを送信しようとします。私はOPTIONSに応じて302を得ます。ログには何も表示されません。リソース・サーバーと許可サーバーのどちらにもありません。Spring OAuth2 preflightが返す302
これをデバッグする方法のヒントはありますか?私のコードに達する前に何とか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());
}
}
302はリダイレクトです。あなたはどこにリダイレクトされますか?あなたは 'curl -vv'でこれをやろうとしましたので、出力を見ることができますか? –
それは難しい部分です。私はAngman2アプリが送信していることがわかるヘッダーをOPTIONSに送信するように郵便配達員に試みました。それから私は200 Backを得る。しかし、私はいくつかのホワイトラベルエラーメッセージにリダイレクトされていると思います。しかし、私がこれを解決しようとするために追加したすべてのフィルターは、郵便配達員から送信するときにトリガーされます。 Angular2から送信するときに何かがフィルタをブロックしてしまいます。どのように何を把握するかを知りません。 – user1716970
はそれを得ました。それは便利です。あなたのAngularコードをここに投稿することをお勧めします。私よりAngularの経験が多い方は、あなたのコードが正しいように見えるでしょう。より詳細な応答を生成する可能性のある冗長フラグをコールに追加すると便利です。これは通常、このような問題への私の最初のアプローチです - より多くの冗長性を追加:) GL。 –