34 lines
738 B
TypeScript
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"
|