This repository has been archived on 2024-10-29. You can view files and clone it, but cannot push or open issues or pull requests.
website/tools/authentication/index.ts

34 lines
738 B
TypeScript

import type { UserCurrent } from "../../models/User"
export interface RefreshTokenResponse {
accessToken: string
/** how long, in milliseconds, until the accessToken expires */
expiresIn: number
type: "Bearer"
}
export interface Tokens extends RefreshTokenResponse {
refreshToken: string
}
export interface PagePropsWithAuthentication {
authentication: {
tokens: Tokens
user: UserCurrent
}
}
export const isTokens = (data: { [key: string]: any }): data is Tokens => {
return (
"accessToken" in data &&
"refreshToken" in data &&
"type" in data &&
"expiresIn" in data
)
}
export * from "./Authentication"
export * from "./authenticationFromServerSide"
export * from "./AuthenticationContext"