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