Skip to content

Commit 6fe6642

Browse files
pavankjaddaPavan Jadda
authored andcommitted
Add Logout component and fix redirect URI issue
1 parent e515113 commit 6fe6642

14 files changed

+120
-23
lines changed

src/main/webapp/spring-data-ui/package-lock.json

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/webapp/spring-data-ui/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
"@angular/platform-browser": "~8.0.3",
2020
"@angular/platform-browser-dynamic": "~8.0.3",
2121
"@angular/router": "~8.0.3",
22+
"bootstrap": "^4.3.1",
23+
"jquery": "^3.4.1",
2224
"keycloak-js": "^6.0.1",
2325
"rxjs": "~6.4.0",
2426
"tslib": "^1.9.0",

src/main/webapp/spring-data-ui/src/app/app-routing.module.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import {NgModule} from "@angular/core";
22
import {RouterModule, Routes} from "@angular/router";
3-
import {CategoryListComponent} from "./category-list/category-list.component";
43
import {EmployeeListComponent} from "./employee-list/employee-list.component";
4+
import {LogoutComponent} from "./logout/logout.component";
55

66
const routes: Routes = [
7-
{
8-
path: 'category/list',
9-
component: CategoryListComponent
10-
},
117
{
128
path: 'employee/list',
139
component: EmployeeListComponent
1410
},
11+
{
12+
path: 'logout',
13+
component:LogoutComponent
14+
},
1515
];
1616

1717
@NgModule({
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
<!--The content below is only a placeholder and can be replaced.-->
2-
<div style="text-align:center">
2+
<div style="text-align:center" class="container container-fluid">
33
<h1>
44
Welcome to {{ title }}!
55
</h1>
6+
7+
<ul>
8+
<li>
9+
<h2><a [routerLink]="['/employee/list']">Employees</a></h2>
10+
</li>
11+
</ul>
612
</div>
7-
<ul>
8-
<li>
9-
<h2><a [routerLink]="['/employee/list']">Employees</a></h2>
10-
</li>
11-
</ul>
1213

1314
<router-outlet></router-outlet>

src/main/webapp/spring-data-ui/src/app/app.component.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import {Component} from "@angular/core";
55
templateUrl: './app.component.html',
66
styleUrls: ['./app.component.css']
77
})
8-
export class AppComponent {
8+
export class AppComponent
9+
{
910
title = 'spring-data-ui';
11+
1012
}

src/main/webapp/spring-data-ui/src/app/app.module.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ import {AppComponent} from "./app.component";
77
import {EmployeeListComponent} from "./employee-list/employee-list.component";
88
import {TokenInterceptor} from "./interceptors/token-interceptor";
99
import {KeycloakService} from "./keycloak/keycloak.service";
10+
import {LogoutComponent} from "./logout/logout.component";
1011

1112
export function kcFactory(keycloakService: KeycloakService) {
1213
return () => keycloakService.init();
1314
}
1415
@NgModule({
1516
declarations: [
1617
AppComponent,
17-
EmployeeListComponent
18+
EmployeeListComponent,
19+
LogoutComponent
1820
],
1921
imports: [
2022
BrowserModule,
Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,26 @@
1-
<div class="">
2-
<div *ngFor="let employee of employees" >
3-
<p>{{employee.id}}</p>
4-
<p>{{employee.firstName}}</p>
5-
<p>{{employee.lastName}}</p>
6-
<p>{{employee.email}}</p>
7-
<p>{{employee.phone}}</p>
8-
</div>
1+
<div class="container container-fluid">
2+
<table class="table">
3+
<thead>
4+
<tr>
5+
<th scope="col">Id</th>
6+
<th scope="col">First Name</th>
7+
<th scope="col">Last Name</th>
8+
<th scope="col">Email</th>
9+
<th scope="col">Phone</th>
10+
</tr>
11+
</thead>
12+
<tbody *ngFor="let employee of employees" >
13+
<tr>
14+
<td>{{employee.id}}</td>
15+
<td>{{employee.firstName}}</td>
16+
<td>{{employee.lastName}}</td>
17+
<td>{{employee.email}}</td>
18+
<td>{{employee.phone}}</td>
19+
</tr>
20+
</tbody>
21+
</table>
22+
23+
<br/>
24+
<h2><a [routerLink]="['/logout']">Logout</a></h2>
925
</div>
26+

src/main/webapp/spring-data-ui/src/app/employee-list/employee-list.component.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {Component, OnInit} from "@angular/core";
2+
import {KeycloakService} from "../keycloak/keycloak.service";
23
import {Employee} from "./employee";
34
import {EmployeeService} from "./employee.service";
45

@@ -11,7 +12,8 @@ export class EmployeeListComponent implements OnInit
1112
{
1213
employees: Array<Employee>;
1314

14-
constructor(private employeeService:EmployeeService) { }
15+
constructor(private employeeService:EmployeeService,
16+
private keycloakService:KeycloakService) { }
1517

1618
ngOnInit()
1719
{
@@ -27,4 +29,9 @@ export class EmployeeListComponent implements OnInit
2729
}
2830
);
2931
}
32+
33+
logout()
34+
{
35+
this.keycloakService.logout();
36+
}
3037
}

src/main/webapp/spring-data-ui/src/app/keycloak/keycloak.service.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import {Injectable} from "@angular/core";
22
import * as Keycloak from "keycloak-js";
3+
import {KeycloakInstance} from "keycloak-js";
34

45
@Injectable({
56
providedIn: 'root'
67
})
78
export class KeycloakService
89
{
9-
private keycloakAuth: any;
10+
private keycloakAuth: KeycloakInstance;
1011

1112
constructor()
1213
{
@@ -39,4 +40,14 @@ export class KeycloakService
3940
{
4041
return this.keycloakAuth.token;
4142
}
43+
44+
logout()
45+
{
46+
const options = {
47+
'redirectUri': 'http://localhost:4200',
48+
'realm': 'nci',
49+
'clientId': 'angular-app'
50+
};
51+
this.keycloakAuth.logout(options);
52+
}
4253
}

src/main/webapp/spring-data-ui/src/app/logout/logout.component.css

Whitespace-only changes.

0 commit comments

Comments
 (0)