У меня есть единый вход в систему, который работает просто отлично ...
Однако, когда я пытаюсь войти в систему с другой учетной записью, он продолжает использовать данные из первоначального единого входа.Кажется, это продолжается до тех пор, пока токен не должен обновиться, после чего выполнение единого входа с новой учетной записью дает правильные данные, но при этом возникает та же проблема, что и новый единый вход не возвращает правильные данные.
Я в тупикена этом, не следует ли передать новый токен из нового единого входа правильно, на что ссылается этот токен?Вот мой AuthService:
@Injectable()
export class AuthWithEveService {
activeToken: string;
activeAuthHeader: HttpHeaders;
constructor(
private http: HttpClient
) {}
verifyCharacter(token: string): Observable<Object> {
return this.http.get(verifyGETUrl, { headers: this.activeAuthHeader});
}
SSOUrl(): string {
let scope = '&scope='+scopes[0];
return authorize_url
+ response_type
+ redirect_uri
+ client_id
+ scope;
}
initializeMemberValues(token: string) {
this.activeToken = token;
this.activeAuthHeader = new HttpHeaders({
'Authorization': 'Bearer '+token
});
}
}
А вот мой AuthComponent:
export class UserHasAuthenticatedComponent implements OnInit {
constructor(
private route: ActivatedRoute,
private router: Router,
private authService: AuthWithEveService,
private apiService: APIAccessService,
private data: FirebaseDataService,
private http: HttpClient
) { }
ngOnInit() {
let access_token = this.route.snapshot.fragment.slice(13, 100);
this.authService.initializeMemberValues(access_token);
this.authService.verifyCharacter(access_token).subscribe(
(obj: CharacterData) => {
this.apiService.AuthedCharacter = obj;
let charName = obj.CharacterName;
this.data.adminDoc.ref.get().then(doc => {
if(doc.data().adminCharacterNames.includes(charName)){
this.router.navigate(['/admin']);
}
else{
this.router.navigate(['/auth/success']);
}
});
}
);
}
Я должен что-то упустить в SSO ... Даже с новым токеном из отдельного входа в SSO,объект обратного вызова verifyCharacter возвращает те же данные.