feat(auth): 关闭所有微信登录(开放平台扫码),只保留小程序登录

- AUTH_WECHAT_QR 默认 false(禁用微信扫码OAuth); AUTH_WECHAT_LOGIN 默认 true(小程序登录开启)
- mp-qr/start 改挂 AUTH_WECHAT_LOGIN(小程序); /auth/status login_modes 不含 wechat
This commit is contained in:
Pine
2026-08-26 12:25:53 +08:00
parent fa06678e92
commit 0cdcdeed26
2 changed files with 7 additions and 6 deletions
+2 -2
View File
@@ -756,8 +756,8 @@ async def mp_qr_start(request: Request, db: Database = Depends(get_db)):
未配置 WECHAT_APPID/SECRET 时退化为普通二维码(qr_url),仅支持「小程序内
scanCode 路径」,无法被微信自动拉起小程序。
"""
if not config.AUTH_WECHAT_QR:
raise HTTPException(status_code=503, detail="小程序扫码登录未开启")
if not config.AUTH_WECHAT_LOGIN:
raise HTTPException(status_code=503, detail="小程序登录未开启")
if not config.AUTH_ENABLED:
raise HTTPException(status_code=403, detail="认证未开启")
scene = f"mp_{secrets.token_hex(10)}" # 3+20 = 23 字符
+5 -4
View File
@@ -141,10 +141,11 @@ WECHAT_OPEN_SECRET = os.environ.get("PINEAGENTS_WECHAT_OPEN_SECRET", "") or WECH
# 扫码登录授权后的回跳地址(须在开放平台后台配置为该 URL):默认服务端 /auth/wx-callback。
# 未设置时由前端 request.base_url 推导。
WECHAT_QR_REDIRECT_URI = os.environ.get("PINEAGENTS_WECHAT_QR_REDIRECT_URI", "")
# 扫码登录开关(true 才返回可用的 qr_start;false 时前端隐藏「微信扫码」入口)
AUTH_WECHAT_QR = os.environ.get("PINEAGENTS_WECHAT_QR", "true").strip().lower() in ("true", "1", "yes")
# 本期统一登录仅两模式(账号密码/手机号验证码);微信扫码预留后期,未开放(默认 False)。
AUTH_WECHAT_LOGIN = os.environ.get("PINEAGENTS_WECHAT_LOGIN", "false").strip().lower() in ("true", "1", "yes")
# 微信开放平台「扫码登录」(网页/桌面微信扫码 OAuth):**默认关闭** —— 只保留小程序登录。
# true 才返回可用的 /auth/wx-qr/startfalse 时前端隐藏「微信扫码」入口。
AUTH_WECHAT_QR = os.environ.get("PINEAGENTS_WECHAT_QR", "false").strip().lower() in ("true", "1", "yes")
# 小程序登录(wx.login code2session + 小程序码 mp-qr):**默认开启** —— 唯一保留的微信登录方式。
AUTH_WECHAT_LOGIN = os.environ.get("PINEAGENTS_WECHAT_LOGIN", "true").strip().lower() in ("true", "1", "yes")
# ---------------------------------------------------------------------------
# 运行环境(生产/开发)—— 供业务判断与小程序码版本选择,亦在 /auth/status 回显以便确认