()
| 38 | let pendingOAuth: PendingOAuth | undefined |
| 39 | |
| 40 | function generateState(): string { |
| 41 | const bytes = crypto.getRandomValues(new Uint8Array(32)) |
| 42 | return Array.from(bytes) |
| 43 | .map((b) => b.toString(16).padStart(2, "0")) |
| 44 | .join("") |
| 45 | } |
| 46 | |
| 47 | function redirectUri(): string { |
| 48 | return `http://localhost:${OAUTH_PORT}${OAUTH_REDIRECT_PATH}` |