0
私のアプリケーションでは、JWTセキュリティを追加しようとしています。応答テキストで私はユーザーとユーザー名の権限を追加します。すべてはうまくいきましたが、応答テキストを分割しようとすると機能しません。レスポンステキストを分割する方法は?
login(username: string, password: string): Observable<boolean> {
return this.http.post(AUTH_USER_PATH, JSON.stringify({username: username, password: password}),
this.getPlainRequestOptions())
.map((response: Response) => {
let token: string = response.headers.get('Authorization').slice(7); //working
let authorities: string[] = JSON.parse(response.text().split('|')[0]); //not working
let username: string = JSON.parse(response.text().split('|')[1]); //not working
console.log(authorities);
console.log(username);
if (token) {
localStorage.setItem('token', JSON.stringify(token));
localStorage.setItem('authorities', response.text());
localStorage.setItem('username', response.text());
return true;
} else {
return false;
}
})
.catch((error: any) => Observable.throw(error));
}
私はスプリットを使用していけない場合は、コンソールに、私は以下を参照してください
この結果を得るために、この文字列(配列)を分割する方法を容易[ROLE_USER, ROLE_ADMIN]|user1
?
authorities = [ROLE_USER, ROLE_ADMIN];
username = "user1";
を助けるべきであるリンクで、あなたはauthorities' 'に' '[ROLE_USER、ROLE_ADMIN]の配列を取得することはできません。 'response.text()。split( '|')[0]'は、あなたがさらに配列に解析できる文字列 '[ROLE_USER、ROLE_ADMIN]' 'を得ます。 – eminlala
しかし、この分割を追加してもコンソールには何も表示されません。私はログインできません。 –