@bit-ui-libs/common
Version:
This library was generated with [Nx](https://nx.dev).
23 lines (19 loc) • 688 B
text/typescript
import { AuthClaims } from '../interfaces/auth-claims';
import jwtDecode from 'jwt-decode';
export async function getAuth0Id(claims: AuthClaims, opts?: { keepPrefix: boolean }) {
if (opts?.keepPrefix) return claims.sub;
return claims.sub.replace('auth0|', '');
}
export async function getAuthEmail(claims: AuthClaims) {
return claims['https://blackinktech.io/schemas/claims/email'];
}
export function isTokenExpired(token: string) {
try {
// If token is undefined / invalid, this throws
// "InvalidTokenError: Invalid token specified"
const claims = jwtDecode<AuthClaims>(token);
return Date.now() / 1000 > claims.exp;
} catch (err) {
return false;
}
}