-
Notifications
You must be signed in to change notification settings - Fork 211
/
Copy pathtwitch.js
executable file
·49 lines (36 loc) · 1.43 KB
/
twitch.js
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
40
41
42
43
44
45
46
47
48
49
'use strict';
const Bell = require('..');
const Hapi = require('@hapi/hapi');
const internals = {};
internals.start = async function () {
const server = Hapi.server({ port: 8000 });
await server.register(Bell);
// You need to register developer application with a Twitch account to obtain your clientId, clientSecret, and assign redirect URI
server.auth.strategy('twitch', 'bell', {
provider: 'twitch',
password: 'cookie_encryption_password_secure',
isSecure: false,
clientId: '', // Set client id
clientSecret: '' // Set client secret
// scope: ['user_read', 'channel_read'] // Uncomment for more scopes (check Twitch API documentation), "user_read" scope is set as default
});
server.route({
method: ['GET', 'POST'],
path: '/bell/door',
options: {
auth: {
strategy: 'twitch',
mode: 'try'
},
handler: function (request, h) {
if (!request.auth.isAuthenticated) {
return 'Authentication failed due to: ' + request.auth.error.message;
}
return '<pre>' + JSON.stringify(request.auth.credentials, null, 4) + '</pre>';
}
}
});
await server.start();
console.log('Server started at:', server.info.uri);
};
internals.start();