import hashlib import uuid import base64 from urllib.parse import urlencode def base64url_encode(data): return base64.urlsafe_b64encode(data).decode('utf-8').rstrip('=') # 生成PKCE参数 code_verifier = base64url_encode(hashlib.sha256(uuid.uuid4().bytes).digest()) code_challenge = base64url_encode(hashlib.sha256(code_verifier.encode()).digest()) state = str(uuid.uuid4()) # 构造授权URL params = { "response_type": "code", "code_challenge": code_challenge, "code_challenge_method": "S256", "client_id": "augment-vscode-extension", # 🔧 可能需要修改 "redirect_uri": "vscode://augment.vscode-augment/auth/result", # 🔧 可能需要修改 "state": state, "scope": "java@fastmail.cn", # 🔧 可能需要修改 "prompt": "login" } auth_url = f"https://auth.augmentcode.com/authorize?{urlencode(params)}" print(f"授权URL: {auth_url}")