fix: 修复第三方登录彩虹登录不上的bug

This commit is contained in:
xiaojunnuo
2026-05-13 11:03:10 +08:00
parent e0189a566e
commit bae4f8e320
3 changed files with 66 additions and 96 deletions
@@ -112,7 +112,10 @@ export class ConnectController extends BaseController {
userInfo, userInfo,
}); });
const state = JSON.parse(utils.hash.base64Decode(query.state)); let state = {forType:""}
if (query.state) {
state = JSON.parse(utils.hash.base64Decode(query.state));
}
const redirectUrl = `${bindUrl}#/oauth/callback/${type}?validationCode=${validationCode}&forType=${state.forType}`; const redirectUrl = `${bindUrl}#/oauth/callback/${type}?validationCode=${validationCode}&forType=${state.forType}`;
this.ctx.redirect(redirectUrl); this.ctx.redirect(redirectUrl);
@@ -73,9 +73,9 @@ export class CloginOauthProvider extends BaseAddon implements IOauthProvider {
async buildLoginUrl(params: BuildLoginUrlReq) { async buildLoginUrl(params: BuildLoginUrlReq) {
let redirectUri = params.redirectUri || "" let redirectUri = params.redirectUri || ""
if(redirectUri.indexOf("localhost:3008")>=0){ // if(redirectUri.indexOf("localhost:3008")>=0){
redirectUri = redirectUri.replace("localhost:3008", "certd.handfree.work") // redirectUri = redirectUri.replace("localhost:3008", "certd.handfree.work")
} // }
const res = await this.ctx.http.request({ const res = await this.ctx.http.request({
url: `${this.endpoint}/connect.php?act=login&appid=${this.appId}&appkey=${this.appKey}&type=${this.loginType}&redirect_uri=${redirectUri}` url: `${this.endpoint}/connect.php?act=login&appid=${this.appId}&appkey=${this.appKey}&type=${this.loginType}&redirect_uri=${redirectUri}`
}) })
@@ -102,7 +102,7 @@ export class CloginOauthProvider extends BaseAddon implements IOauthProvider {
const code = req.code || "" const code = req.code || ""
const tokenEndpoint = `http://clogin.yfy.docmirror.cn/connect.php?act=callback&appid=${this.appId}&appkey=${this.appKey}&type=${this.loginType}&code=${code}` const tokenEndpoint = `${this.endpoint}/connect.php?act=callback&appid=${this.appId}&appkey=${this.appKey}&type=${this.loginType}&code=${code}`
const res = await this.ctx.utils.http.request({ const res = await this.ctx.utils.http.request({
url: tokenEndpoint, url: tokenEndpoint,
method: "post", method: "post",
+58 -91
View File
@@ -52,7 +52,7 @@ importers:
packages/core/acme-client: packages/core/acme-client:
dependencies: dependencies:
'@certd/basic': '@certd/basic':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../basic version: link:../basic
'@peculiar/x509': '@peculiar/x509':
specifier: ^1.11.0 specifier: ^1.11.0
@@ -234,11 +234,11 @@ importers:
packages/core/pipeline: packages/core/pipeline:
dependencies: dependencies:
'@certd/basic': '@certd/basic':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../basic version: link:../basic
'@certd/plus-core': '@certd/plus-core':
specifier: ^1.39.13 specifier: ^1.39.14
version: 1.39.13 version: 1.39.14
dayjs: dayjs:
specifier: ^1.11.7 specifier: ^1.11.7
version: 1.11.13 version: 1.11.13
@@ -457,7 +457,7 @@ importers:
packages/libs/lib-k8s: packages/libs/lib-k8s:
dependencies: dependencies:
'@certd/basic': '@certd/basic':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/basic version: link:../../core/basic
'@kubernetes/client-node': '@kubernetes/client-node':
specifier: 0.21.0 specifier: 0.21.0
@@ -503,20 +503,20 @@ importers:
packages/libs/lib-server: packages/libs/lib-server:
dependencies: dependencies:
'@certd/acme-client': '@certd/acme-client':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/acme-client version: link:../../core/acme-client
'@certd/basic': '@certd/basic':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/basic version: link:../../core/basic
'@certd/pipeline': '@certd/pipeline':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/pipeline version: link:../../core/pipeline
'@certd/plugin-lib': '@certd/plugin-lib':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../plugins/plugin-lib version: link:../../plugins/plugin-lib
'@certd/plus-core': '@certd/plus-core':
specifier: ^1.39.13 specifier: ^1.39.14
version: 1.39.13 version: 1.39.14
'@midwayjs/cache': '@midwayjs/cache':
specifier: 3.14.0 specifier: 3.14.0
version: 3.14.0 version: 3.14.0
@@ -679,16 +679,16 @@ importers:
packages/plugins/plugin-cert: packages/plugins/plugin-cert:
dependencies: dependencies:
'@certd/acme-client': '@certd/acme-client':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/acme-client version: link:../../core/acme-client
'@certd/basic': '@certd/basic':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/basic version: link:../../core/basic
'@certd/pipeline': '@certd/pipeline':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/pipeline version: link:../../core/pipeline
'@certd/plugin-lib': '@certd/plugin-lib':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../plugin-lib version: link:../plugin-lib
psl: psl:
specifier: ^1.9.0 specifier: ^1.9.0
@@ -758,17 +758,17 @@ importers:
specifier: ^3.964.0 specifier: ^3.964.0
version: 3.964.0(aws-crt@1.26.2) version: 3.964.0(aws-crt@1.26.2)
'@certd/acme-client': '@certd/acme-client':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/acme-client version: link:../../core/acme-client
'@certd/basic': '@certd/basic':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/basic version: link:../../core/basic
'@certd/pipeline': '@certd/pipeline':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/pipeline version: link:../../core/pipeline
'@certd/plus-core': '@certd/plus-core':
specifier: ^1.39.13 specifier: ^1.39.14
version: 1.39.13 version: 1.39.14
'@kubernetes/client-node': '@kubernetes/client-node':
specifier: 0.21.0 specifier: 0.21.0
version: 0.21.0 version: 0.21.0
@@ -867,16 +867,16 @@ importers:
packages/pro/commercial-core: packages/pro/commercial-core:
dependencies: dependencies:
'@certd/basic': '@certd/basic':
specifier: ^1.39.13 specifier: ^1.39.7
version: link:../../core/basic version: link:../../core/basic
'@certd/lib-server': '@certd/lib-server':
specifier: ^1.39.13 specifier: ^1.39.7
version: link:../../libs/lib-server version: link:../../libs/lib-server
'@certd/pipeline': '@certd/pipeline':
specifier: ^1.39.13 specifier: ^1.39.7
version: link:../../core/pipeline version: link:../../core/pipeline
'@certd/plus-core': '@certd/plus-core':
specifier: ^1.39.13 specifier: ^1.39.7
version: link:../plus-core version: link:../plus-core
'@midwayjs/core': '@midwayjs/core':
specifier: 3.20.11 specifier: 3.20.11
@@ -912,9 +912,6 @@ importers:
'@types/chai': '@types/chai':
specifier: ^4.3.3 specifier: ^4.3.3
version: 4.3.20 version: 4.3.20
'@types/mocha':
specifier: ^10.0.1
version: 10.0.10
'@types/node': '@types/node':
specifier: ^18 specifier: ^18
version: 18.19.100 version: 18.19.100
@@ -924,9 +921,6 @@ importers:
'@typescript-eslint/parser': '@typescript-eslint/parser':
specifier: ^8.26.1 specifier: ^8.26.1
version: 8.32.1(eslint@8.57.0)(typescript@5.9.3) version: 8.32.1(eslint@8.57.0)(typescript@5.9.3)
cross-env:
specifier: ^7.0.3
version: 7.0.3
eslint: eslint:
specifier: ^8.24.0 specifier: ^8.24.0
version: 8.57.0 version: 8.57.0
@@ -936,12 +930,6 @@ importers:
eslint-plugin-prettier: eslint-plugin-prettier:
specifier: ^4.2.1 specifier: ^4.2.1
version: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.0))(eslint@8.57.0)(prettier@2.8.8) version: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.0))(eslint@8.57.0)(prettier@2.8.8)
esmock:
specifier: ^2.7.5
version: 2.7.5
mocha:
specifier: ^10.2.0
version: 10.8.2
prettier: prettier:
specifier: ^2.8.8 specifier: ^2.8.8
version: 2.8.8 version: 2.8.8
@@ -954,9 +942,6 @@ importers:
rollup-plugin-visualizer: rollup-plugin-visualizer:
specifier: ^5.8.2 specifier: ^5.8.2
version: 5.14.0(rollup@3.29.5) version: 5.14.0(rollup@3.29.5)
ts-node:
specifier: ^10.9.2
version: 10.9.2(@types/node@18.19.100)(typescript@5.9.3)
tslib: tslib:
specifier: ^2.8.1 specifier: ^2.8.1
version: 2.8.1 version: 2.8.1
@@ -967,16 +952,16 @@ importers:
packages/pro/plugin-plus: packages/pro/plugin-plus:
dependencies: dependencies:
'@certd/basic': '@certd/basic':
specifier: ^1.39.13 specifier: ^1.39.7
version: link:../../core/basic version: link:../../core/basic
'@certd/pipeline': '@certd/pipeline':
specifier: ^1.39.13 specifier: ^1.39.7
version: link:../../core/pipeline version: link:../../core/pipeline
'@certd/plugin-lib': '@certd/plugin-lib':
specifier: ^1.39.13 specifier: ^1.39.7
version: link:../../plugins/plugin-lib version: link:../../plugins/plugin-lib
'@certd/plus-core': '@certd/plus-core':
specifier: ^1.39.13 specifier: ^1.39.7
version: link:../plus-core version: link:../plus-core
crypto-js: crypto-js:
specifier: ^4.2.0 specifier: ^4.2.0
@@ -1021,9 +1006,6 @@ importers:
chai: chai:
specifier: 4.3.10 specifier: 4.3.10
version: 4.3.10 version: 4.3.10
cross-env:
specifier: ^7.0.3
version: 7.0.3
eslint: eslint:
specifier: ^8.41.0 specifier: ^8.41.0
version: 8.57.0 version: 8.57.0
@@ -1033,9 +1015,6 @@ importers:
eslint-plugin-prettier: eslint-plugin-prettier:
specifier: ^4.2.1 specifier: ^4.2.1
version: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.0))(eslint@8.57.0)(prettier@2.8.8) version: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.0))(eslint@8.57.0)(prettier@2.8.8)
esmock:
specifier: ^2.7.5
version: 2.7.5
mocha: mocha:
specifier: ^10.2.0 specifier: ^10.2.0
version: 10.8.2 version: 10.8.2
@@ -1048,9 +1027,6 @@ importers:
rollup: rollup:
specifier: ^3.7.4 specifier: ^3.7.4
version: 3.29.5 version: 3.29.5
ts-node:
specifier: ^10.9.2
version: 10.9.2(@types/node@18.19.100)(typescript@5.9.3)
tslib: tslib:
specifier: ^2.8.1 specifier: ^2.8.1
version: 2.8.1 version: 2.8.1
@@ -1061,7 +1037,7 @@ importers:
packages/pro/plus-core: packages/pro/plus-core:
dependencies: dependencies:
'@certd/basic': '@certd/basic':
specifier: ^1.39.13 specifier: ^1.39.7
version: link:../../core/basic version: link:../../core/basic
dayjs: dayjs:
specifier: ^1.11.7 specifier: ^1.11.7
@@ -1094,9 +1070,6 @@ importers:
chai: chai:
specifier: 4.3.10 specifier: 4.3.10
version: 4.3.10 version: 4.3.10
cross-env:
specifier: ^7.0.3
version: 7.0.3
eslint: eslint:
specifier: ^8.41.0 specifier: ^8.41.0
version: 8.57.0 version: 8.57.0
@@ -1106,9 +1079,6 @@ importers:
eslint-plugin-prettier: eslint-plugin-prettier:
specifier: ^4.2.1 specifier: ^4.2.1
version: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.0))(eslint@8.57.0)(prettier@2.8.8) version: 4.2.1(eslint-config-prettier@8.10.0(eslint@8.57.0))(eslint@8.57.0)(prettier@2.8.8)
esmock:
specifier: ^2.7.5
version: 2.7.5
mocha: mocha:
specifier: ^10.2.0 specifier: ^10.2.0
version: 10.8.2 version: 10.8.2
@@ -1121,9 +1091,6 @@ importers:
rollup: rollup:
specifier: ^3.7.4 specifier: ^3.7.4
version: 3.29.5 version: 3.29.5
ts-node:
specifier: ^10.9.2
version: 10.9.2(@types/node@18.19.100)(typescript@5.9.3)
tslib: tslib:
specifier: ^2.8.1 specifier: ^2.8.1
version: 2.8.1 version: 2.8.1
@@ -1363,10 +1330,10 @@ importers:
version: 0.1.3(zod@3.24.4) version: 0.1.3(zod@3.24.4)
devDependencies: devDependencies:
'@certd/lib-iframe': '@certd/lib-iframe':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../libs/lib-iframe version: link:../../libs/lib-iframe
'@certd/pipeline': '@certd/pipeline':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/pipeline version: link:../../core/pipeline
'@rollup/plugin-commonjs': '@rollup/plugin-commonjs':
specifier: ^25.0.7 specifier: ^25.0.7
@@ -1573,47 +1540,47 @@ importers:
specifier: ^4.13.1 specifier: ^4.13.1
version: 4.13.1 version: 4.13.1
'@certd/acme-client': '@certd/acme-client':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/acme-client version: link:../../core/acme-client
'@certd/basic': '@certd/basic':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/basic version: link:../../core/basic
'@certd/commercial-core': '@certd/commercial-core':
specifier: ^1.39.13 specifier: ^1.39.14
version: 1.39.13(better-sqlite3@11.10.0)(mysql2@3.14.1)(pg@8.16.0)(reflect-metadata@0.2.2)(ts-node@10.9.2(@types/node@18.19.100)(typescript@5.9.3)) version: 1.39.14(better-sqlite3@11.10.0)(mysql2@3.14.1)(pg@8.16.0)(reflect-metadata@0.2.2)(ts-node@10.9.2(@types/node@18.19.100)(typescript@5.9.3))
'@certd/cv4pve-api-javascript': '@certd/cv4pve-api-javascript':
specifier: ^8.4.2 specifier: ^8.4.2
version: 8.4.2 version: 8.4.2
'@certd/jdcloud': '@certd/jdcloud':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../libs/lib-jdcloud version: link:../../libs/lib-jdcloud
'@certd/lib-huawei': '@certd/lib-huawei':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../libs/lib-huawei version: link:../../libs/lib-huawei
'@certd/lib-k8s': '@certd/lib-k8s':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../libs/lib-k8s version: link:../../libs/lib-k8s
'@certd/lib-server': '@certd/lib-server':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../libs/lib-server version: link:../../libs/lib-server
'@certd/midway-flyway-js': '@certd/midway-flyway-js':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../libs/midway-flyway-js version: link:../../libs/midway-flyway-js
'@certd/pipeline': '@certd/pipeline':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../core/pipeline version: link:../../core/pipeline
'@certd/plugin-cert': '@certd/plugin-cert':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../plugins/plugin-cert version: link:../../plugins/plugin-cert
'@certd/plugin-lib': '@certd/plugin-lib':
specifier: ^1.39.13 specifier: ^1.39.14
version: link:../../plugins/plugin-lib version: link:../../plugins/plugin-lib
'@certd/plugin-plus': '@certd/plugin-plus':
specifier: ^1.39.13 specifier: ^1.39.14
version: 1.39.13 version: 1.39.14
'@certd/plus-core': '@certd/plus-core':
specifier: ^1.39.13 specifier: ^1.39.14
version: 1.39.13 version: 1.39.14
'@google-cloud/dns': '@google-cloud/dns':
specifier: ^5.3.1 specifier: ^5.3.1
version: 5.3.1 version: 5.3.1
@@ -3033,17 +3000,17 @@ packages:
'@better-scroll/zoom@2.5.1': '@better-scroll/zoom@2.5.1':
resolution: {integrity: sha512-aGvFY5ooeZWS4RcxQLD+pGLpQHQxpPy0sMZV3yadcd2QK53PK9gS4Dp+BYfRv8lZ4/P2LoNEhr6Wq1DN6+uPlA==} resolution: {integrity: sha512-aGvFY5ooeZWS4RcxQLD+pGLpQHQxpPy0sMZV3yadcd2QK53PK9gS4Dp+BYfRv8lZ4/P2LoNEhr6Wq1DN6+uPlA==}
'@certd/commercial-core@1.39.13': '@certd/commercial-core@1.39.14':
resolution: {integrity: sha512-AvHmxpgWdYt/QQBEGLA4ASa1YUcXN0jUAHo7sUu2Czon+jpP16YDo328kUsPAhtY4DMzUj1Ozr7HI2n/O81CQQ==} resolution: {integrity: sha512-Tys+rjy1zuATSwjqpFKpKCYpz6RoC3gIGYcVjD+qKvTabTSeChvwRjvDvzSiyWpU5iHm6uT+7tpPTc0/XXFvBg==}
'@certd/cv4pve-api-javascript@8.4.2': '@certd/cv4pve-api-javascript@8.4.2':
resolution: {integrity: sha512-udGce7ewrVl4DmZvX+17PjsnqsdDIHEDatr8QP0AVrY2p+8JkaSPW4mXCKiLGf82C9K2+GXgT+qNIqgW7tfF9Q==} resolution: {integrity: sha512-udGce7ewrVl4DmZvX+17PjsnqsdDIHEDatr8QP0AVrY2p+8JkaSPW4mXCKiLGf82C9K2+GXgT+qNIqgW7tfF9Q==}
'@certd/plugin-plus@1.39.13': '@certd/plugin-plus@1.39.14':
resolution: {integrity: sha512-Q7ddg3NMj6ikT1hnxUxxmFOOkAwDa1RWZsocZashNDXcQkyTGCLg596EIxtuNDKTJa/7Ggb4zHLrkY9OOdEcNg==} resolution: {integrity: sha512-79PX/YmaCqst5StYAB9WfbOhrEAeGbO9ypeSJTTsZhNkqbYEAlqnk/6upEpgdxnHxQ+WNH8DlInMCdJhX26HDw==}
'@certd/plus-core@1.39.13': '@certd/plus-core@1.39.14':
resolution: {integrity: sha512-5VpUKrt18pK048Z6n5M8R3REUomKkKiID6IfDK8zYlIErSrDofsOuDwUPEofuJM7gZQ8Ovkc6l14KLhSvjLvnw==} resolution: {integrity: sha512-GRJi9mBjrtfng1NbEeKe75AJ6sbfNCUKo1I6G2oYC8DdlGlJ/7XblZ44lwEWMa1IHB2ere51i9TqmZtosmt1FA==}
'@certd/vue-js-cron-core@6.0.3': '@certd/vue-js-cron-core@6.0.3':
resolution: {integrity: sha512-kqzoAMhYz9j6FGNWEODRYtt4NpUEUwjpkU89z5WVg2tCtOcI5VhwyUGOd8AxiBCRfd6PtXvzuqw85PaOps9wrQ==} resolution: {integrity: sha512-kqzoAMhYz9j6FGNWEODRYtt4NpUEUwjpkU89z5WVg2tCtOcI5VhwyUGOd8AxiBCRfd6PtXvzuqw85PaOps9wrQ==}
@@ -15573,12 +15540,12 @@ snapshots:
dependencies: dependencies:
'@better-scroll/core': 2.5.1 '@better-scroll/core': 2.5.1
'@certd/commercial-core@1.39.13(better-sqlite3@11.10.0)(mysql2@3.14.1)(pg@8.16.0)(reflect-metadata@0.2.2)(ts-node@10.9.2(@types/node@18.19.100)(typescript@5.9.3))': '@certd/commercial-core@1.39.14(better-sqlite3@11.10.0)(mysql2@3.14.1)(pg@8.16.0)(reflect-metadata@0.2.2)(ts-node@10.9.2(@types/node@18.19.100)(typescript@5.9.3))':
dependencies: dependencies:
'@certd/basic': link:packages/core/basic '@certd/basic': link:packages/core/basic
'@certd/lib-server': link:packages/libs/lib-server '@certd/lib-server': link:packages/libs/lib-server
'@certd/pipeline': link:packages/core/pipeline '@certd/pipeline': link:packages/core/pipeline
'@certd/plus-core': 1.39.13 '@certd/plus-core': 1.39.14
'@midwayjs/core': 3.20.11 '@midwayjs/core': 3.20.11
'@midwayjs/koa': 3.20.13 '@midwayjs/koa': 3.20.13
'@midwayjs/logger': 3.4.2 '@midwayjs/logger': 3.4.2
@@ -15614,19 +15581,19 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@certd/plugin-plus@1.39.13': '@certd/plugin-plus@1.39.14':
dependencies: dependencies:
'@certd/basic': link:packages/core/basic '@certd/basic': link:packages/core/basic
'@certd/pipeline': link:packages/core/pipeline '@certd/pipeline': link:packages/core/pipeline
'@certd/plugin-lib': link:packages/plugins/plugin-lib '@certd/plugin-lib': link:packages/plugins/plugin-lib
'@certd/plus-core': 1.39.13 '@certd/plus-core': 1.39.14
crypto-js: 4.2.0 crypto-js: 4.2.0
dayjs: 1.11.13 dayjs: 1.11.13
form-data: 4.0.2 form-data: 4.0.2
jsrsasign: 11.1.0 jsrsasign: 11.1.0
querystring: 0.2.1 querystring: 0.2.1
'@certd/plus-core@1.39.13': '@certd/plus-core@1.39.14':
dependencies: dependencies:
'@certd/basic': link:packages/core/basic '@certd/basic': link:packages/core/basic
dayjs: 1.11.13 dayjs: 1.11.13