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
2022-08-31 21:44:33 +02:00

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'