fix: revert old oauth behavior and new default email provider
This commit is contained in:
parent
0af7179596
commit
6dd26ad3d8
7 changed files with 439 additions and 23 deletions
55
scripts/run_token_refresh_flow.py
Normal file
55
scripts/run_token_refresh_flow.py
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
import argparse
|
||||
import asyncio
|
||||
import json
|
||||
import logging
|
||||
|
||||
import browser
|
||||
import server
|
||||
|
||||
|
||||
class _FakeRequest:
|
||||
def __init__(self, provider: str):
|
||||
self.match_info = {"provider": provider}
|
||||
self.method = "GET"
|
||||
self.path_qs = f"/{provider}/token"
|
||||
|
||||
|
||||
def _enable_headed_browser() -> bool:
|
||||
if "--no-startup-window" in browser.CHROME_FLAGS:
|
||||
browser.CHROME_FLAGS.remove("--no-startup-window")
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
async def _run(provider: str) -> int:
|
||||
patched = _enable_headed_browser()
|
||||
logging.info("Headed mode patch applied: %s", patched)
|
||||
|
||||
request = _FakeRequest(provider)
|
||||
response = await server.token_handler(request)
|
||||
payload = json.loads(response.body.decode("utf-8"))
|
||||
|
||||
logging.info("Response status: %s", response.status)
|
||||
logging.info("Response body: %s", json.dumps(payload, indent=2))
|
||||
return 0 if response.status == 200 else 1
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = argparse.ArgumentParser(
|
||||
description=(
|
||||
"Run the same token refresh/issue flow as server /{provider}/token "
|
||||
"in headed browser mode (non-headless)."
|
||||
)
|
||||
)
|
||||
parser.add_argument("--provider", default="chatgpt")
|
||||
args = parser.parse_args()
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format="%(asctime)s %(levelname)s %(name)s: %(message)s",
|
||||
)
|
||||
return asyncio.run(_run(args.provider))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Loading…
Add table
Add a link
Reference in a new issue