angular 시행착오
앵귤러에서 로그인 버튼 눌러서 장고로 이동하면 장고에서 이브온라인으로 로그인하도록 이동시켜줘서 이브에 로그인되면 장고에서 토큰 붙여서 redirect 해줘서 앵귤러가 토큰을 받으면 로그인 하도록 해놨음. 근데 로그인이 안되있어서 못들어갔던 페이지로 들어가면 로그인 컴포넌트로 이동시켜주도록 했는데 이 과정에서 못들어갔던 페이지를 authenticaitonService
에 저장해놨음. 근데 이브로 로그인하면서 이브 로그인 창으로 바뀌어버려서 서비스에 저장한 url 변수가 사라지니 아래처럼하면 돌아갈 수 있는 방법이 없음.
// auth.guard.ts
this.authenticationService.returnUrl = state.url
return this.router.navigate(['/login']);
// login.component.ts
// 장고에서 토큰 붙여서 redirect 해주면
if('token' in this.route.snapshot.queryParams) {
// 로그인해서 토큰 로컬스토리지에 저장해주고
this.authenticationService.login(this.route.snapshot.queryParams);
// 로그인 페이지 오기 전에 있던 곳으로 돌아감
if (this.authenticationService.returnUrl) {
this.router.navigate([this.authenticationService.returnUrl]);
}
this.router.navigate(['/']);
}
해결책으로 어쩔 수 없이 로컬 스토리지에 저장 혹은 rxjs로 처리할거임
Author And Source
이 문제에 관하여(angular 시행착오), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@oem0404/angular-시행착오저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)