loadProfile(): Promise {
return new Promise(async (resolve, reject) => {
if (await this.authKeycloak.isLoggedIn()) {
this.authKeycloak.loadUserProfile()
.then(data => resolve(data))
.catch(err => console.log(err))
} else {
this.authKeycloak.login();
}
})
}
if it is a new user, then again login page comes up.
login() {
this.loadProfile().then(user => {
this.authService.loggedInUser = user;
if (user !== null || user !== undefined) {
console.log(user);
this.userRequest.emailId = user.email;
this.userRequest.firstName = user.firstName;
this.userRequest.isLoggedIn = true;
this.userRequest.lastName = user.lastName;
this.userRequest.userName = user.username;
this.userService.activeUser = user;
sessionStorage.setItem('activeUser', user.firstName);
// calling API to genrate JWT
this.authService.UserRequest(this.userRequest).subscribe((res: any) => {
sessionStorage.setItem('jwt', res.jwt);
console.log(res.jwt);
this.localStorageService.setData('activeToken', res.jwt);
this.router.navigateByUrl('/home');
})
}
})
}