blob: ce551687098fc8e986b9efa77dadd1786d2ebe8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
const EventEmitter = require('events')
const { webAuthCheckLogin } = require('npm-profile')
async function webAuth (opener, initialUrl, doneUrl, opts) {
const doneEmitter = new EventEmitter()
const openPromise = opener(initialUrl, doneEmitter)
const webAuthCheckPromise = webAuthCheckLogin(doneUrl, { ...opts, cache: false })
.then(authResult => {
// cancel open prompt if it's present
doneEmitter.emit('abort')
return authResult.token
})
await openPromise
return await webAuthCheckPromise
}
module.exports = webAuth
|