getIsAuthorized true, а затем false? - PullRequest
0 голосов
/ 29 января 2020

enter image description here

Я пытаюсь использовать неявный поток с Identity Server 3, и я вижу id_token и access_token в инструментах разработчика. но getIsAuthorized в конечном итоге ложно. Также this.oidcSecurityService.getToken () возвращает ноль. Я использую v10.0.14. Чего мне здесь не хватает?

это мой app.component.ts для входа / выхода из системы:

import { Component, OnDestroy, OnInit } from '@angular/core';
import { ConfigResult, OidcConfigService, OidcSecurityService, AuthorizationResult, AuthorizationState } from 'angular-auth-oidc-client';
import { TestService } from './testservice.service';

@Component({
    selector: 'app-root',
    templateUrl: 'app.component.html',
})
export class AppComponent implements OnInit, OnDestroy {
    isAuthenticated: boolean;
    isConfigurationLoaded: boolean;
    userData: any;

    constructor(private oidcConfigService: OidcConfigService, public oidcSecurityService: OidcSecurityService, private _testService: TestService) {


        if (this.oidcSecurityService.moduleSetup) {
            this.doCallbackLogicIfRequired();
        } else {
            this.oidcSecurityService.onModuleSetup.subscribe(() => {
                this.doCallbackLogicIfRequired();
            });
        }

    }

    ngOnInit() {
        this.oidcConfigService.onConfigurationLoaded.subscribe((value: ConfigResult) => {
            this.isConfigurationLoaded = true;
        });

        this.oidcSecurityService.getIsAuthorized().subscribe(auth => {
            this.isAuthenticated = auth;
        });

        this.oidcSecurityService.getUserData().subscribe(userData => {
            this.userData = userData;
        });
    }

    ngOnDestroy(): void {}

    login() {
        this.oidcSecurityService.authorize();
    }

    logout() {
        this.oidcSecurityService.logoff();
    }

    private doCallbackLogicIfRequired() {
        // Will do a callback, if the url has a code and state parameter.
        //this.oidcSecurityService.authorizedCallbackWithCode(window.location.toString());
        if (window.location.hash) {
          this.oidcSecurityService.authorizedImplicitFlowCallback();
      }
    }     
}

выглядит так, как будто он не подходит для сравнения, поскольку он строгий (но значения возвращаются из конечная точка userinfo и токен доступа - соответственно string и int), но вы не знаете, как это исправить?

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