Files
java-tutorials/spring-security-modules/spring-security-oauth2-bff/angular-ui/src/app/auth/logout.component.ts
T
ch4mpy db46099bce BAEL-7380 : ul (CONFIGURATION)
OAuth2 BFF with spring-addons
2024-02-10 03:21:58 -10:00

40 lines
913 B
TypeScript

import { Component } from '@angular/core';
import { UserService } from './user.service';
import { lastValueFrom } from 'rxjs';
import { HttpClient } from '@angular/common/http';
import { baseUri } from '../app.config';
@Component({
selector: 'app-logout',
standalone: true,
imports: [],
template: `
<button (click)="logout()">Logout</button>
`,
styles: ``
})
export class LogoutComponent {
constructor(private http: HttpClient, private user: UserService) {}
logout() {
lastValueFrom(
this.http.post('/bff/logout', null, {
headers: {
'X-POST-LOGOUT-SUCCESS-URI': baseUri,
},
observe: 'response',
})
)
.then((resp) => {
const logoutUri = resp.headers.get('Location');
if (!!logoutUri) {
window.location.href = logoutUri;
}
})
.finally(() => {
this.user.refresh();
});
}
}