kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
Adding a isGoogleLogin flag to getOpenAIAuth so users with a google account can authenticate that way.
rodzic
c936391041
commit
5dad44637c
|
@ -40,12 +40,14 @@ export async function getOpenAIAuth({
|
|||
email,
|
||||
password,
|
||||
timeoutMs = 2 * 60 * 1000,
|
||||
browser
|
||||
browser,
|
||||
isGoogleLogin
|
||||
}: {
|
||||
email?: string
|
||||
password?: string
|
||||
timeoutMs?: number
|
||||
browser?: Browser
|
||||
isGoogleLogin?: boolean
|
||||
}): Promise<OpenAIAuth> {
|
||||
let page: Page
|
||||
let origBrowser = browser
|
||||
|
@ -76,7 +78,23 @@ export async function getOpenAIAuth({
|
|||
waitUntil: 'networkidle0'
|
||||
})
|
||||
])
|
||||
await page.waitForSelector('#username')
|
||||
if (isGoogleLogin) {
|
||||
await page.click('button[data-provider="google"]')
|
||||
await page.waitForSelector('input[type="email"]')
|
||||
await page.type('input[type="email"]', email, { delay: 10 })
|
||||
await Promise.all([
|
||||
page.waitForNavigation(),
|
||||
await page.keyboard.press('Enter')
|
||||
])
|
||||
await page.waitForSelector('input[type="password"]', { visible: true })
|
||||
await page.type('input[type="password"]', password, { delay: 10 })
|
||||
await page.keyboard.press('Enter')
|
||||
await Promise.all([
|
||||
page.waitForNavigation({
|
||||
waitUntil: 'networkidle0'
|
||||
})
|
||||
])
|
||||
} else {
|
||||
await page.type('#username', email, { delay: 10 })
|
||||
await page.click('button[type="submit"]')
|
||||
await page.waitForSelector('#password')
|
||||
|
@ -88,6 +106,7 @@ export async function getOpenAIAuth({
|
|||
})
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
const pageCookies = await page.cookies()
|
||||
const cookies = pageCookies.reduce(
|
||||
|
|
Ładowanie…
Reference in New Issue