-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathrefresh-token.js
109 lines (95 loc) · 2.11 KB
/
refresh-token.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
var purest = require('../')
// ----------------------------------------------------------------------------
var auth = {
box: {
key: '',
secret: '',
token: '',
refresh: '',
},
// requires access_type: offline
google: {
key: '',
secret: '',
token: '',
refresh: '',
},
twitch: {
key: '',
secret: '',
token: '',
refresh: '',
},
}
// ----------------------------------------------------------------------------
var config = {
"box": {
"refresh": {
"origin": "https://api.box.com",
"path": "oauth2/token",
"method": "POST",
"form": {
"grant_type": "refresh_token",
"refresh_token": "{auth}"
}
}
},
"google": {
"refresh": {
"origin": "https://oauth2.googleapis.com",
"path": "token",
"method": "POST",
"form": {
"grant_type": "refresh_token",
"refresh_token": "{auth}"
}
}
},
"twitch": {
"refresh": {
"origin": "https://api.twitch.tv",
"path": "kraken/oauth2/token",
"method": "POST",
"form": {
"grant_type": "refresh_token",
"refresh_token": "{auth}"
}
}
}
}
// ----------------------------------------------------------------------------
;({
'box refresh': async () => {
var box = purest({provider: 'box', config, defaults: {
form: {
client_id: auth.box.key,
client_secret: auth.box.secret
}
}})
await box('refresh')
.auth(auth.box.refresh)
.request()
},
'google refresh': async () => {
var google = purest({provider: 'google', config, defaults: {
form: {
client_id: auth.google.key,
client_secret: auth.google.secret
}
}})
await google('refresh')
.auth(auth.google.refresh)
.request()
},
'twitch refresh': async () => {
var twitch = purest({provider: 'twitch', config, defaults: {
form: {
client_id: auth.twitch.key,
client_secret: auth.twitch.secret
}
}})
await twitch('refresh')
.auth(auth.twitch.refresh)
.request()
},
})[process.argv[2]]()