12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import { Inject, Optional, Component, OnInit } from '@angular/core';
- import { ActivatedRoute, Router } from '@angular/router';
- import { ReuseTabService } from '@delon/abc/reuse-tab';
- import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth';
- import { SettingsService } from '@delon/theme';
- import { finalize } from 'rxjs/operators';
- import { AuthnService } from '../../service/authn.service';
- import { SocialsProviderService } from '../../service/socials-provider.service';
- import { CONSTS } from '../../shared/consts';
- @Component({
- selector: 'app-logout',
- template: ``
- })
- export class LogoutComponent implements OnInit {
- redirect_uri = '';
- constructor(
- private router: Router,
- private settingsService: SettingsService,
- private authnService: AuthnService,
- @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService,
- @Optional()
- @Inject(ReuseTabService)
- private reuseTabService: ReuseTabService,
- private route: ActivatedRoute
- ) { }
- ngOnInit(): void {
- this.redirect_uri = this.route.snapshot.params[CONSTS.REDIRECT_URI];
- this.authnService
- .logout()
- .pipe(
- finalize(() => {
- this.tokenService.clear();
- if (this.redirect_uri == null || this.redirect_uri == '') {
- this.router.navigateByUrl(this.tokenService.login_url!);
- } else {
- this.router.navigateByUrl(this.redirect_uri);
- }
- })
- )
- .subscribe(res => {
- console.log(`Logout Response ${res.data}`);
- });
- }
- }
|