Umstellung auf firebase
This commit is contained in:
@@ -86,7 +86,16 @@ export class AuthService {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private isEMailVerified(token: string): boolean {
|
||||
try {
|
||||
const payloadBase64 = token.split('.')[1];
|
||||
const payloadJson = atob(payloadBase64.replace(/-/g, '+').replace(/_/g, '/'));
|
||||
const payload = JSON.parse(payloadJson);
|
||||
return payload.email_verified;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Versucht, mit dem RefreshToken einen neuen Access Token zu erhalten
|
||||
async refreshToken(): Promise<string | null> {
|
||||
const storedRefreshToken = localStorage.getItem('refreshToken');
|
||||
@@ -122,7 +131,9 @@ export class AuthService {
|
||||
*/
|
||||
async getToken(): Promise<string | null> {
|
||||
const token = localStorage.getItem('authToken');
|
||||
if (token && this.isTokenValid(token)) {
|
||||
if (token && !this.isEMailVerified(token)) {
|
||||
return null;
|
||||
} else if (token && this.isTokenValid(token) && this.isEMailVerified(token)) {
|
||||
return token;
|
||||
} else {
|
||||
return await this.refreshToken();
|
||||
|
||||
Reference in New Issue
Block a user