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