ngx-admin/src/app/service/auth.service.ts

31 lines
763 B
TypeScript
Raw Normal View History

2024-03-20 11:37:59 -07:00
import { Injectable } from '@angular/core';
import { AngularFireAuth } from '@angular/fire/compat/auth';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class AuthService {
user$: Observable<firebase.default.User | null>;
constructor(private fireAuth: AngularFireAuth, private router: Router) {
this.user$ = this.fireAuth.authState;
}
// logout method
async logout(): Promise<void> {
try {
await this.fireAuth.signOut();
localStorage.removeItem('accessToken');
localStorage.removeItem('accessTokenExpiresIn');
2024-03-21 15:32:11 -07:00
this.router.navigate(['auth/login'], { queryParams: { logout: true } });
2024-03-20 11:37:59 -07:00
} catch (error: any) {
throw error;
}
}
}