]>
Commit | Line | Data |
---|---|---|
9107d791 C |
1 | async function register ({ |
2 | registerExternalAuth, | |
3 | peertubeHelpers | |
4 | }) { | |
5 | { | |
6 | const result = registerExternalAuth({ | |
7 | authName: 'external-auth-1', | |
8 | authDisplayName: 'External Auth 1', | |
9 | onLogout: user => peertubeHelpers.logger.info('On logout %s', user.username), | |
10 | onAuthRequest: (req, res) => { | |
11 | const username = req.query.username | |
12 | ||
13 | result.userAuthenticated({ | |
14 | req, | |
15 | res, | |
16 | username, | |
17 | email: username + '@example.com' | |
18 | }) | |
19 | } | |
20 | }) | |
21 | } | |
22 | ||
23 | { | |
24 | const result = registerExternalAuth({ | |
25 | authName: 'external-auth-2', | |
26 | authDisplayName: 'External Auth 2', | |
27 | onAuthRequest: (req, res) => { | |
28 | result.userAuthenticated({ | |
29 | req, | |
30 | res, | |
31 | username: 'kefka', | |
32 | email: 'kefka@example.com', | |
33 | role: 0, | |
34 | displayName: 'Kefka Palazzo' | |
35 | }) | |
36 | }, | |
37 | hookTokenValidity: (options) => { | |
38 | if (options.type === 'refresh') { | |
39 | return { valid: false } | |
40 | } | |
41 | ||
42 | if (options.type === 'access') { | |
43 | const token = options.token | |
44 | const now = new Date() | |
45 | now.setTime(now.getTime() - 5000) | |
46 | ||
47 | const createdAt = new Date(token.createdAt) | |
48 | ||
49 | return { valid: createdAt.getTime() >= now.getTime() } | |
50 | } | |
51 | ||
52 | return { valid: true } | |
53 | } | |
54 | }) | |
55 | } | |
56 | } | |
57 | ||
58 | async function unregister () { | |
59 | return | |
60 | } | |
61 | ||
62 | module.exports = { | |
63 | register, | |
64 | unregister | |
65 | } | |
66 | ||
67 | // ########################################################################### |