28 lines
892 B
Python
28 lines
892 B
Python
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}")
|