]>
Commit | Line | Data |
---|---|---|
1 | async function register ({ | |
2 | registerIdAndPassAuth, | |
3 | peertubeHelpers | |
4 | }) { | |
5 | registerIdAndPassAuth({ | |
6 | authName: 'laguna-auth', | |
7 | ||
8 | onLogout: () => { | |
9 | peertubeHelpers.logger.info('On logout for auth 2 - 1') | |
10 | }, | |
11 | ||
12 | getWeight: () => 30, | |
13 | ||
14 | hookTokenValidity: (options) => { | |
15 | if (options.type === 'refresh') { | |
16 | return { valid: false } | |
17 | } | |
18 | ||
19 | if (options.type === 'access') { | |
20 | const token = options.token | |
21 | const now = new Date() | |
22 | now.setTime(now.getTime() - 5000) | |
23 | ||
24 | const createdAt = new Date(token.createdAt) | |
25 | ||
26 | return { valid: createdAt.getTime() >= now.getTime() } | |
27 | } | |
28 | ||
29 | return { valid: true } | |
30 | }, | |
31 | ||
32 | login (body) { | |
33 | if (body.id === 'laguna' && body.password === 'laguna password') { | |
34 | return Promise.resolve({ | |
35 | username: 'laguna', | |
36 | email: 'laguna@example.com', | |
37 | displayName: 'Laguna Loire', | |
38 | adminFlags: 1, | |
39 | videoQuota: 42000, | |
40 | videoQuotaDaily: 42100, | |
41 | ||
42 | // Always use new value except for videoQuotaDaily field | |
43 | userUpdater: ({ fieldName, currentValue, newValue }) => { | |
44 | if (fieldName === 'videoQuotaDaily') return currentValue | |
45 | ||
46 | return newValue | |
47 | } | |
48 | }) | |
49 | } | |
50 | ||
51 | return null | |
52 | } | |
53 | }) | |
54 | } | |
55 | ||
56 | async function unregister () { | |
57 | return | |
58 | } | |
59 | ||
60 | module.exports = { | |
61 | register, | |
62 | unregister | |
63 | } | |
64 | ||
65 | // ########################################################################### |