This project was generated with Angular CLI version 13.0.4.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.
app.component.ts:
...
title = 'keycloak-frontend';
username: string;
isLogged: boolean;
isAdmin: boolean;
constructor(
private oauthService: OAuthService,
private messageService: MessageService,
private loginService: LoginService
) {
this.configure();
}
authConfig: AuthConfig = {
issuer: 'http://localhost:8180/auth/realms/tutorial',
redirectUri: window.location.origin,
clientId: 'tutorial-frontend',
responseType: 'code',
scope: 'openid profile email offline_access',
showDebugInformation: true,
};
configure(): void {
this.oauthService.configure(this.authConfig);
this.oauthService.tokenValidationHandler = new NullValidationHandler();
this.oauthService.setupAutomaticSilentRefresh();
this.oauthService.loadDiscoveryDocument().then(() => this.oauthService.tryLogin())
.then(() => {
if (this.oauthService.getIdentityClaims()) {
this.isLogged = this.loginService.getIsLogged();
this.isAdmin = this.loginService.getIsAdmin();
this.username = this.loginService.getUsername();
this.messageService.sendMessage(this.loginService.getUsername());
}
});
}
...