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";
은 당신이 쓴 것을 바탕으로, 당신은'[ROLE_USER, ROLE_ADMIN]'에'authorities'의 배열을받지 않습니다 도움이 될 링크입니다. 'response.text(). split ('|') [0]'은 [ "ROLE_USER, ROLE_ADMIN]"'문자열을 얻어야하는데,이 문자열을 추가로 배열로 파싱 할 수 있습니다. – eminlala
하지만이 분할을 콘솔에 표시하지 않고 추가하면됩니다. 나는 로그인 할 수 없다. –