From a481e0ae4c6519f9d1234f98bfa97b8b5a7c7e2e Mon Sep 17 00:00:00 2001
From: HenryDu8133 <813367384@qq.com>
Date: Sun, 13 Sep 2026 01:05:38 +0800
Subject: [PATCH] =?UTF-8?q?fix(auth):=20=E5=BE=AE=E4=BF=A1=E7=99=BB?=
=?UTF-8?q?=E5=BD=95=E6=8C=89=E9=92=AE=E6=94=BE=E5=A4=A7+=E4=B8=BB?=
=?UTF-8?q?=E9=A2=98=E8=89=B2=20&=20/api/auth/aggregate=20500=20=E8=AF=8A?=
=?UTF-8?q?=E6=96=AD=E6=97=A5=E5=BF=97\n\nUI=20=E6=94=B9=E5=8A=A8=EF=BC=88?=
=?UTF-8?q?=E5=BE=AE=E4=BF=A1=E7=99=BB=E5=BD=95=E6=8C=89=E9=92=AE=20+=20?=
=?UTF-8?q?=E4=B8=AA=E4=BA=BA=E9=A1=B5=E7=BB=91=E5=AE=9A=E5=8D=A1=E7=89=87?=
=?UTF-8?q?=EF=BC=89=EF=BC=9A\n-=20OAuthButtons.vue=EF=BC=9Aaggregate=20?=
=?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=8C=89=E9=92=AE=2048x48=20=E2=86=92=2056x5?=
=?UTF-8?q?6=EF=BC=8CSVG=20=E5=9B=BE=E6=A0=87=2022px=E2=86=9228px=EF=BC=9B?=
=?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=83=8C=E6=99=AF=E5=BE=AE=E4=BF=A1=E7=BB=BF?=
=?UTF-8?q?=20#07C160=EF=BC=8Chover=20#06ad56=EF=BC=8Cactive=20#059a4c?=
=?UTF-8?q?=EF=BC=9B=E6=AD=A3=E5=B8=B8=E6=80=81=E5=8A=A0=E7=BB=BF=E8=89=B2?=
=?UTF-8?q?=E9=98=B4=E5=BD=B1=EF=BC=8C=E7=BA=AF=20#fff=20=E6=96=87?=
=?UTF-8?q?=E5=AD=97=EF=BC=9B=E4=B8=8D=E5=86=8D=E5=92=8C=E7=9B=B8=E9=82=BB?=
=?UTF-8?q?=20Google/GitHub=20=E4=BF=9D=E6=8C=81=E5=8E=9F=E5=B0=BA?=
=?UTF-8?q?=E5=AF=B8=E4=B8=8D=E5=8F=98\n-=20OAuthBindingCard.vue=20?=
=?UTF-8?q?=E4=B8=AA=E4=BA=BA=E9=A1=B5=E5=8D=A1=E7=89=87=EF=BC=9Aaggregate?=
=?UTF-8?q?(aggregate)=EF=BC=9A=E5=BE=AE=E4=BF=A1=E5=9B=BE=E6=A0=87?=
=?UTF-8?q?=E6=A1=86=2040x40=E2=86=9248x48=EF=BC=88h-10=E2=86=92h-12?=
=?UTF-8?q?=EF=BC=89=EF=BC=8C=E5=9B=BE=E6=A0=87=2022px=E2=86=9226px?=
=?UTF-8?q?=EF=BC=8C=E8=83=8C=E6=99=AF/=E8=BE=B9=E6=A1=86/=E6=96=87?=
=?UTF-8?q?=E5=AD=97=E7=94=A8=E5=BE=AE=E4=BF=A1=E7=BB=BF=20#07C160?=
=?UTF-8?q?=EF=BC=9B=E6=9C=AA=E7=BB=91=E5=AE=9A=E5=BE=AE=E4=BF=A1=E8=89=B2?=
=?UTF-8?q?=20=E7=AB=8B=E5=8D=B3=E7=BB=91=E5=AE=9A=E5=BE=AE=E4=BF=A1=20?=
=?UTF-8?q?=E6=8C=89=E9=92=AE=20=E5=AD=97=E5=8F=B7=E4=BB=8E=20xs=E2=86=92s?=
=?UTF-8?q?m=EF=BC=8Cpy=201.5=E2=86=922.5=EF=BC=8C=E6=96=87=E6=A1=88=20?=
=?UTF-8?q?=E7=AB=8B=E5=8D=B3=E7=BB=91=E5=AE=9A=E2=86=92=E7=AB=8B=E5=8D=B3?=
=?UTF-8?q?=E7=BB=91=E5=AE=9A=E5=BE=AE=E4=BF=A1\n\n500=20=E6=8E=92?=
=?UTF-8?q?=E9=94=99=E6=97=A5=E5=BF=97=EF=BC=88/api/auth/aggregate?=
=?UTF-8?q?=EF=BC=89=EF=BC=9A\n-=20loadAggregateSettings=EF=BC=9A=E5=85=88?=
=?UTF-8?q?=E5=8F=96=20env=20fallback=20=E5=89=8D=E7=BD=AE=EF=BC=8CDB=20se?=
=?UTF-8?q?lect=20=E5=8C=85=20try/catch=20=E4=B8=8D=E6=8A=9B=EF=BC=9B?=
=?UTF-8?q?=E5=B9=B6=E6=89=93=E5=8D=B0=20[AggregateOAuth]=20enabled/appId/?=
=?UTF-8?q?appKey=20=E9=95=BF=E5=BA=A6/loginType/endpoint=20=E7=8A=B6?=
=?UTF-8?q?=E6=80=81(DB=3D=3F=20=E9=85=8D=E7=BD=AE=20/=20ENV=3D=3F=20?=
=?UTF-8?q?=E9=85=8D=E7=BD=AE=20/=20dbEnabled=E5=9B=9E=E9=80=80=E9=80=BB?=
=?UTF-8?q?=E8=BE=91\n-=20auxxStrategy.getAuthorizeUrl=20=E5=85=A8?=
=?UTF-8?q?=E9=93=BE=E8=B7=AF=E7=BB=93=E6=9E=84=E5=8C=96=E6=97=A5=E5=BF=97?=
=?UTF-8?q?=EF=BC=9A\n=20=201)=20=E5=8F=82=E6=95=B0=E6=89=93=E5=8D=B0?=
=?UTF-8?q?=EF=BC=88enabled/endpoint/safe=5Fok/redirect=5Furi/state=5Flen\?=
=?UTF-8?q?n=20=202)=20=E9=85=8D=E7=BD=AE=E7=BC=BA=E5=A4=B1=E6=97=B6?=
=?UTF-8?q?=E9=80=90=E6=9D=A1=E6=9E=9A=E4=B8=BE=E5=8E=9F=E5=9B=A0=EF=BC=88?=
=?UTF-8?q?APP=5FID=20=E7=A9=BA=20/=20APP=5FKEY=20=E7=A9=BA=20/=20ENDPOINT?=
=?UTF-8?q?=20=E7=A9=BA=20/=20enabled=3Dfalse=EF=BC=89\n=20=203)=20endpoin?=
=?UTF-8?q?t=20=E4=B8=8D=E5=90=88=E6=B3=95=E6=97=B6=E5=8D=95=E7=8B=AC?=
=?UTF-8?q?=E6=89=93=E5=8D=B0=20[AggregateOAuth][auxx][getAuthorizeUrl]=20?=
=?UTF-8?q?endpoint=20=E4=B8=8D=E5=90=88=E6=B3=95=20+=20JSON(endpoint)\n?=
=?UTF-8?q?=20=204)=20=E8=AF=B7=E6=B1=82=20auxx.cn/connect.php=3Fact=3Dlog?=
=?UTF-8?q?in=20=E5=89=8D=E6=89=93=E5=8D=B0=20GET=20URL=EF=BC=88appkey=20?=
=?UTF-8?q?=E6=9B=BF=E6=8D=A2=E4=B8=BA=20***=EF=BC=8C=E6=97=A5=E5=BF=97?=
=?UTF-8?q?=E7=BB=9D=E4=B8=8D=E8=BE=93=E5=87=BA=E7=9C=9F=E5=AE=9E=E5=AF=86?=
=?UTF-8?q?=E9=92=A5=EF=BC=89\n=20=205)=20$fetch=20=E6=88=90=E5=8A=9F?=
=?UTF-8?q?=E6=89=93=E5=8D=B0=20code/msg/has=5Furl/url=5Fprefix\n=20=206)?=
=?UTF-8?q?=20$fetch=20=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B0=20err/status/b?=
=?UTF-8?q?ody=20(response.=5Fdata=20=E6=88=96=20data=20=E5=89=8D=20400=20?=
=?UTF-8?q?=E5=AD=97=EF=BC=89\n=20=207)=20$fetch=20=E5=8A=A0=2015000ms=20?=
=?UTF-8?q?=E8=B6=85=E6=97=B6=EF=BC=8C=E9=81=BF=E5=85=8D=20Runner=20?=
=?UTF-8?q?=E5=88=B0=20auxx=20=E4=B8=8D=E9=80=9A=E5=8D=A1=E6=AD=BB?=
=?UTF-8?q?=E4=B8=80=E7=9B=B4=E6=8C=82=2030s\n=20=E4=BB=A5=E4=B8=8A?=
=?UTF-8?q?=EF=BC=9B30s+=20=E6=89=8D=E8=A2=AB=20Nitro=20=E5=BC=BA=E5=88=B6?=
=?UTF-8?q?=20500?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/components/Auth/OAuthBindingCard.vue | 12 +--
app/components/Auth/OAuthButtons.vue | 25 ++++-
server/utils/oauth-strategies.ts | 111 ++++++++++++++++++-----
3 files changed, 116 insertions(+), 32 deletions(-)
diff --git a/app/components/Auth/OAuthBindingCard.vue b/app/components/Auth/OAuthBindingCard.vue
index 03f07f3..88bbcfc 100644
--- a/app/components/Auth/OAuthBindingCard.vue
+++ b/app/components/Auth/OAuthBindingCard.vue
@@ -121,9 +121,9 @@
@@ -131,7 +131,7 @@
{{
getProviderDisplayName('aggregate')
}}
-
{{
+ {{
aggregateIdentity.providerUsername
}}
未绑定
@@ -140,7 +140,7 @@
diff --git a/app/components/Auth/OAuthButtons.vue b/app/components/Auth/OAuthButtons.vue
index b21365f..8911837 100644
--- a/app/components/Auth/OAuthButtons.vue
+++ b/app/components/Auth/OAuthButtons.vue
@@ -31,7 +31,7 @@
title="使用微信登录"
@click="loginWith('aggregate')"
>
-