mirror of
https://github.com/github/codeql-action.git
synced 2025-12-27 01:30:10 +08:00
67 lines
1.9 KiB
JavaScript
67 lines
1.9 KiB
JavaScript
import * as OAuthMethods from "@octokit/oauth-methods";
|
|
import { emitEvent } from "../emit-event.js";
|
|
import { createOAuthUserAuth } from "@octokit/auth-oauth-user";
|
|
async function resetTokenWithState(state, options) {
|
|
const optionsWithDefaults = {
|
|
clientId: state.clientId,
|
|
clientSecret: state.clientSecret,
|
|
request: state.octokit.request,
|
|
...options
|
|
};
|
|
if (state.clientType === "oauth-app") {
|
|
const response2 = await OAuthMethods.resetToken({
|
|
clientType: "oauth-app",
|
|
...optionsWithDefaults
|
|
});
|
|
const authentication2 = Object.assign(response2.authentication, {
|
|
type: "token",
|
|
tokenType: "oauth"
|
|
});
|
|
await emitEvent(state, {
|
|
name: "token",
|
|
action: "reset",
|
|
token: response2.authentication.token,
|
|
scopes: response2.authentication.scopes || void 0,
|
|
authentication: authentication2,
|
|
octokit: new state.Octokit({
|
|
authStrategy: createOAuthUserAuth,
|
|
auth: {
|
|
clientType: state.clientType,
|
|
clientId: state.clientId,
|
|
clientSecret: state.clientSecret,
|
|
token: response2.authentication.token,
|
|
scopes: response2.authentication.scopes
|
|
}
|
|
})
|
|
});
|
|
return { ...response2, authentication: authentication2 };
|
|
}
|
|
const response = await OAuthMethods.resetToken({
|
|
clientType: "github-app",
|
|
...optionsWithDefaults
|
|
});
|
|
const authentication = Object.assign(response.authentication, {
|
|
type: "token",
|
|
tokenType: "oauth"
|
|
});
|
|
await emitEvent(state, {
|
|
name: "token",
|
|
action: "reset",
|
|
token: response.authentication.token,
|
|
authentication,
|
|
octokit: new state.Octokit({
|
|
authStrategy: createOAuthUserAuth,
|
|
auth: {
|
|
clientType: state.clientType,
|
|
clientId: state.clientId,
|
|
clientSecret: state.clientSecret,
|
|
token: response.authentication.token
|
|
}
|
|
})
|
|
});
|
|
return { ...response, authentication };
|
|
}
|
|
export {
|
|
resetTokenWithState
|
|
};
|