|
|
|
var REGEX_IS_INSTALLATION_LEGACY = /^v1\./; |
|
var REGEX_IS_INSTALLATION = /^ghs_/; |
|
var REGEX_IS_USER_TO_SERVER = /^ghu_/; |
|
async function auth(token) { |
|
const isApp = token.split(/\./).length === 3; |
|
const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || REGEX_IS_INSTALLATION.test(token); |
|
const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); |
|
const tokenType = isApp ? "app" : isInstallation ? "installation" : isUserToServer ? "user-to-server" : "oauth"; |
|
return { |
|
type: "token", |
|
token, |
|
tokenType |
|
}; |
|
} |
|
|
|
|
|
function withAuthorizationPrefix(token) { |
|
if (token.split(/\./).length === 3) { |
|
return `bearer ${token}`; |
|
} |
|
return `token ${token}`; |
|
} |
|
|
|
|
|
async function hook(token, request, route, parameters) { |
|
const endpoint = request.endpoint.merge( |
|
route, |
|
parameters |
|
); |
|
endpoint.headers.authorization = withAuthorizationPrefix(token); |
|
return request(endpoint); |
|
} |
|
|
|
|
|
var createTokenAuth = function createTokenAuth2(token) { |
|
if (!token) { |
|
throw new Error("[@octokit/auth-token] No token passed to createTokenAuth"); |
|
} |
|
if (typeof token !== "string") { |
|
throw new Error( |
|
"[@octokit/auth-token] Token passed to createTokenAuth is not a string" |
|
); |
|
} |
|
token = token.replace(/^(token|bearer) +/i, ""); |
|
return Object.assign(auth.bind(null, token), { |
|
hook: hook.bind(null, token) |
|
}); |
|
}; |
|
export { |
|
createTokenAuth |
|
}; |
|
|