saleor-dashboard/src/auth/errors.ts

24 lines
592 B
TypeScript
Raw Normal View History

2020-05-07 11:04:15 +00:00
import { findValueInEnum } from "@saleor/misc";
import { GraphQLError } from "graphql";
2020-05-07 11:04:15 +00:00
export enum JWTError {
2020-07-21 16:51:36 +00:00
invalid = "InvalidTokenError",
invalidSignature = "InvalidSignatureError",
expired = "ExpiredSignatureError"
2020-05-07 11:04:15 +00:00
}
export function isJwtError(error: GraphQLError): boolean {
let jwtError: boolean;
try {
jwtError = !!findValueInEnum(error.extensions.exception.code, JWTError);
} catch (e) {
jwtError = false;
}
return jwtError;
2020-05-07 11:04:15 +00:00
}
export function isTokenExpired(error: GraphQLError): boolean {
return error.extensions.exception.code === JWTError.expired;
}