-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.module.ts
55 lines (51 loc) · 1.9 KB
/
app.module.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { AngularAuthKeycloakModule } from '../../projects/angular-auth-keycloak/src/lib/angular-auth-keycloak.module';
import { ProtectedPageComponent } from './protected-page/protected-page.component';
import { RouterModule, Routes } from '@angular/router';
import { AuthenticatedUserGuard } from '../../projects/angular-auth-keycloak/src/lib/authenticated-user.guard';
import { RouterTestingModule } from '@angular/router/testing';
import { PublicPageComponent } from './public-page/public-page.component';
import { WelcomePageComponent } from './welcome-page/welcome-page.component';
import {OidcSettings} from '../../projects/angular-auth-keycloak/src/lib/oidc-settings.model';
import {
NavigateToRouteIfUnauthenticated,
UNAUTHENTICATED_USER_REDIRECTION_ROUTE
} from '../../projects/angular-auth-keycloak/src/lib/unauthenticated-user.reaction';
const routes: Routes = [
{ path: '', redirectTo: 'welcome', pathMatch: 'full' },
{ path: 'welcome', component: WelcomePageComponent },
{ path: 'public', component: PublicPageComponent },
{ path: 'protected', component: ProtectedPageComponent, canActivate: [ AuthenticatedUserGuard ] }
];
const oidcSettings: OidcSettings = {
url: 'http://localhost:8100/auth',
realm: 'test-realm',
clientId: 'test-realm-spa-client'
};
@NgModule({
declarations: [
AppComponent,
ProtectedPageComponent,
PublicPageComponent,
WelcomePageComponent
],
imports: [
BrowserModule,
AngularAuthKeycloakModule.forRoot(
oidcSettings,
NavigateToRouteIfUnauthenticated
),
RouterModule.forRoot(routes),
RouterTestingModule
],
providers: [
{
provide: UNAUTHENTICATED_USER_REDIRECTION_ROUTE,
useValue: '/welcome'
}
],
bootstrap: [ AppComponent ]
})
export class AppModule { }