aboutsummaryrefslogtreecommitdiff
path: root/src/util/auth.ts
blob: d892bc3ee786e48dc137148e19a89678ae1dbae7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import jwt from 'jsonwebtoken';

const getAccessToken = (userId: Number) =>
    // @ts-ignore
    jwt.sign({ userId: userId }, process.env.ACCESS_TOKEN_SECRET, { expiresIn: "5m" });

const getRefreshToken = (userId: Number, version: Number) =>
    // @ts-ignore
    jwt.sign({ userId: userId,  version: version, }, process.env.REFRESH_TOKEN_SECRET, { expiresIn: "15d" });

const verifyRefreshToken = (token: string) => {
    try {
        // @ts-ignore
        return jwt.verify(token, process.env.REFRESH_TOKEN_SECRET);
    } catch (error) {
        throw error;
    }
}

const getFriendToken = (userId: Number) =>
    // @ts-ignore
    jwt.sign({ userId: userId }, process.env.FRIEND_TOKEN_SECRET, { expiresIn: "2m" });

const verifyFriendToken = (token: string) => {
    try {
        // @ts-ignore
        return jwt.verify(token, process.env.FRIEND_TOKEN_SECRET);
    } catch (error) {
        throw error;
    }
}

export {
    getAccessToken,
    getRefreshToken,
    verifyRefreshToken,
    getFriendToken,
    verifyFriendToken,
};