Files
AgentCompany/AgentCompany-New/src/main/services/oauth/pkce.ts
T
ZacharyZhang-NY 49a9f16221 Replace token-paste with native device-code/PKCE provider sign-in
Implement the official OAuth login flows natively (ported from pi-ai's
reference): GitHub Copilot device-code, GPT account (ChatGPT Codex) and
Google Antigravity authorization-code + PKCE via a loopback callback server.
Obtained credentials are stored as JSON through the existing secret vault.
Onboarding and Settings now run the real sign-in instead of pasting an
access token.
2026-05-29 20:08:55 -04:00

14 lines
411 B
TypeScript

import { createHash, randomBytes } from "node:crypto";
export interface PkcePair {
verifier: string;
challenge: string;
}
/** Generate a PKCE verifier and its S256 challenge (RFC 7636). */
export function generatePkce(): PkcePair {
const verifier = randomBytes(32).toString("base64url");
const challenge = createHash("sha256").update(verifier).digest("base64url");
return { verifier, challenge };
}