feat: Enhance login flow with add-email and phone verification support

- Added support for the add-email page in the logging status module.
- Updated step 8 to handle phone-registered accounts during email verification.
- Implemented logic to submit add-email before polling for email verification codes.
- Enhanced tests for step 7 to detect username input as phone number and ignore hidden inputs.
- Improved step 8 to allow add-email handoff only when requested.
- Updated documentation to reflect changes in the login verification flow.
This commit is contained in:
QLHazyCoder
2026-05-05 01:47:58 +08:00
parent 6b3917d4b7
commit d054ff65de
11 changed files with 1323 additions and 176 deletions
+23
View File
@@ -124,6 +124,10 @@ function isAddPhonePageReady() {
return ${JSON.stringify(Boolean(overrides.addPhonePage))};
}
function isAddEmailPageReady() {
return ${JSON.stringify(Boolean(overrides.addEmailPage))};
}
function isVisibleElement() {
return true;
}
@@ -261,6 +265,20 @@ return {
assert.strictEqual(snapshot.state, 'phone_entry_page');
}
{
const api = createApi({
pathname: '/add-email',
href: 'https://auth.openai.com/add-email',
emailInput: { id: 'email' },
submitButton: { id: 'submit' },
addEmailPage: true,
});
const snapshot = api.inspectLoginAuthState();
assert.strictEqual(snapshot.state, 'add_email_page');
assert.strictEqual(snapshot.addEmailPage, true);
}
assert.ok(
extractFunction('inspectLoginAuthState').includes("state: 'oauth_consent_page'"),
'inspectLoginAuthState 应产出 oauth_consent_page 状态'
@@ -271,4 +289,9 @@ assert.ok(
'inspectLoginAuthState 应产出 phone_entry_page 状态'
);
assert.ok(
extractFunction('inspectLoginAuthState').includes("state: 'add_email_page'"),
'inspectLoginAuthState 应产出 add_email_page 状态'
);
console.log('step6 login state tests passed');