UNPKG

1.06 kBJavaScriptView Raw
1const google = require('googleapis')
2const OAuth2 = google.auth.OAuth2
3const inquirer = require('inquirer')
4const db = require('./db')
5
6async function getCredentials () {
7 let cred = db.get('credentials.web').value()
8 if (!cred) {
9 let answers = await inquirer.prompt([{
10 type: 'input',
11 name: 'client_id',
12 message: 'client_id'
13 }, {
14 type: 'input',
15 name: 'client_secret',
16 message: 'client_secret'
17 }, {
18 type: 'input',
19 name: 'redirect_uris',
20 message: 'redirect_uris',
21 default: 'http://localhost:3000/callback'
22 }])
23
24 let { client_id, client_secret, redirect_uris } = answers
25 let web = {
26 client_id,
27 client_secret,
28 redirect_uris: [redirect_uris]
29 }
30 db.set('credentials.web', web).write()
31
32 return web
33 } else {
34 return cred
35 }
36}
37
38module.exports = async function () {
39 const client = await getCredentials()
40 const oauth2Client = new OAuth2(
41 client.client_id,
42 client.client_secret,
43 client.redirect_uris[0]
44 )
45
46 return oauth2Client
47}