2
2
mirror of https://github.com/Thream/website.git synced 2024-07-21 09:28:32 +02:00
website/tools/authentication/index.ts
2022-03-16 12:18:09 +01:00

34 lines
733 B
TypeScript

import { 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'