OpenAuth_server/src/helper/jwt.ts

21 lines
588 B
TypeScript

import { IUser } from "../models/user";
import { ObjectID } from "bson";
import { createJWT } from "../keys";
import { IClient } from "../models/client";
export interface OAuthJWT {
user: string;
username: string;
permissions: string[];
application: string
}
export default function getOAuthJWT(token: { user: IUser, permissions: ObjectID[], client: IClient }) {
return createJWT(<OAuthJWT>{
user: token.user.uid,
username: token.user.username,
permissions: token.permissions.map(p => p.toHexString()),
application: token.client.client_id
})
}