1
0
Fork 0
mirror of https://code.forgejo.org/actions/setup-node synced 2025-06-25 12:48:05 +02:00
This commit is contained in:
Danny McCormick 2019-08-06 18:29:44 -04:00
parent fc9ff49b90
commit 5273d0df9c
391 changed files with 79850 additions and 45 deletions

View file

@ -0,0 +1,41 @@
module.exports = authenticate
const { Deprecation } = require('deprecation')
const once = require('once')
const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation))
function authenticate (state, options) {
deprecateAuthenticate(state.octokit.log, new Deprecation('[@octokit/rest] octokit.authenticate() is deprecated. Use "auth" constructor option instead.'))
if (!options) {
state.auth = false
return
}
switch (options.type) {
case 'basic':
if (!options.username || !options.password) {
throw new Error('Basic authentication requires both a username and password to be set')
}
break
case 'oauth':
if (!options.token && !(options.key && options.secret)) {
throw new Error('OAuth2 authentication requires a token or key & secret to be set')
}
break
case 'token':
case 'app':
if (!options.token) {
throw new Error('Token authentication requires a token to be set')
}
break
default:
throw new Error("Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'")
}
state.auth = options
}