[ABANDONED] API server for Flexor social network.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

19 lines
620 B

import { v1 } from 'uuid'
import { JWT } from '../lib/crypto'
import { UserToken, UserItemType } from '../types/collections'
export async function createAccessToken(userId: string): Promise<string> {
return await JWT.sign({ sub: userId }, { expiresIn: process.env.TOKEN_EXPIRATION })
}
export function createRefreshToken(userId: string, userAgent: string, ip: string): UserToken {
return {
id: 'r' + v1().replace(/-/g, ''),
pk: userId,
t: UserItemType.Token,
userAgent,
ip,
expires: Date.now() + (1000 * 60 * 60 * 24 * 365),
created: Date.now(),
}
}