각도 및 .Net 코어 jwt 무기명 토큰 (작품)을 보내는 인증 프로세스를 이해하려고합니다. 그래서 내 문제는 내가 (나중에 역할을 가진) 사용자를 적절하게 관리하기 위해 내가 보호 및 인증 서비스에서해야 할 일을 제대로 모른다는 것이다. 하지만 몇 가지 물건을 시도하고 지금은 AuthService에서 내가 해야할지 모르겠다.각도 5 인증
수정 로그인 게시물이 완료되면 서버에서 토큰 및 만료 날짜가 표시됩니다. 그래서 나는 그것들과 나중에 idk를 어떻게 주장 하는지를 저장하고 싶다. 그리고 내가 무엇을 돌려줘야하는지.
이 내 AuthService 같은 모습입니다 :
@Injectable()
export class AuthService {
isLoggedIn = false;
constructor(private http: HttpClient) {}
login(email:string, password:string) :Observable<boolean>{
this.http.post('/login', {email, password})
.subscribe(data =>
{
//TODO: check for Token ???
let userAuth = data;
if(userAuth) {
localStorage.setItem('currentUser', JSON.stringify(userAuth));
return true;
}else{
return false;
}
},
(err: HttpErrorResponse) => {
if(err.error instanceof Error){
console.log("error client side");
}else{
console.log("Server side error.");
}
});
//what should i return ????? and how
}
logout() {
localStorage.removeItem('currentUser');
}
}
지금 내가 토큰이 존재하고 관찰 가능한 경우 부울을 반환하는 방법을 여부를 확인하는 방법을 모르겠어요. 이후 로그인이 완료되면 향후 조사를 확인하는 것이 중요합니다.
그리고 m AuthGuard은 다음과 같습니다
@Injectable()
export class AuthGuardService implements CanActivate{
constructor(private router:Router) { }
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot):
boolean | Observable<boolean> {
if(localStorage.getItem('currentUser')){
return true;
}
this.router.navigate(['auth/login'],
{queryParams: { returnUrl: state.url}});
}
}
무엇이 문제입니까?>? –
이미지가 아닌 코드를 게시하십시오. –
토큰도 저장하고 싶다고 가정합니다. 또는'currentUser'의 내용은 무엇입니까? 그리고 예, 언급 한 바와 같이, 문제가 무엇입니까? :) – Alex