SSO с другим аккаунтом не меняет токен;возвращает данные предыдущего SSO.Угловой 5 - PullRequest
0 голосов
/ 25 мая 2018

У меня есть единый вход в систему, который работает просто отлично ...

Однако, когда я пытаюсь войти в систему с другой учетной записью, он продолжает использовать данные из первоначального единого входа.Кажется, это продолжается до тех пор, пока токен не должен обновиться, после чего выполнение единого входа с новой учетной записью дает правильные данные, но при этом возникает та же проблема, что и новый единый вход не возвращает правильные данные.

Я в тупикена этом, не следует ли передать новый токен из нового единого входа правильно, на что ссылается этот токен?Вот мой 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 возвращает те же данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...