angular -oauth2-oid c токен всегда недействителен после входа в систему - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь следовать руководству по документации https://github.com/manfredsteyer/angular-oauth2-oidc.

У меня в конструкторе службы есть следующая конфигурация:

authCodeFlowConfig: AuthConfig = {
   issuer: 'https://demo.identityserver.io',
   redirectUri: window.location.origin + '/home',
   clientId: 'spa',
   responseType: 'code',
   scope: 'openid profile email offline_access api',
   showDebugInformation: true
 };

this.oauthService.configure(this.authCodeFlowConfig);

(Я также пробовал использовать URL-адрес перенаправления index. html, но это, похоже, не имело значения)

Вход в систему работает нормально, я получаю перенаправление на страницу входа в систему и перенаправляюсь домой :

    this.oauthService.loadDiscoveryDocumentAndTryLogin().then((response) => {
      if (!this.oauthService.hasValidIdToken() || !this.oauthService.hasValidAccessToken()) {
         this.oauthService.initCodeFlow();
      }
    }).catch((err) => {
      console.log(err);
    });

Однако следующее по-прежнему возвращает false, false, null:

    const claims = this.oauthService.getIdentityClaims();
    console.log(this.oauthService.hasValidIdToken());
    console.log(this.oauthService.hasValidAccessToken());
    console.log(claims);

У меня есть код = в моем URL-адресе нет других изменений в службе, и все, похоже, вошел в систему. Я ожидал сделать что-то глупое или неправильно понял, что происходит, но любой совет будет мне полезен.

1 Ответ

0 голосов
/ 17 мая 2020

Оказывается, я делал это неправильно.

Я не вызывал документ обнаружения загрузки в своем конструкторе, как должен был.

Если страница перезагружается, у меня нет документа обнаружения для проверки моего токена, и, следовательно, он недействителен.

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