diff --git a/packages/connector-alipay/CHANGELOG.md b/packages/connector-alipay-web/CHANGELOG.md
similarity index 100%
rename from packages/connector-alipay/CHANGELOG.md
rename to packages/connector-alipay-web/CHANGELOG.md
diff --git a/packages/connector-alipay/README.md b/packages/connector-alipay-web/README.md
similarity index 100%
rename from packages/connector-alipay/README.md
rename to packages/connector-alipay-web/README.md
diff --git a/packages/connector-alipay/docs/config-template.json b/packages/connector-alipay-web/docs/config-template.json
similarity index 100%
rename from packages/connector-alipay/docs/config-template.json
rename to packages/connector-alipay-web/docs/config-template.json
diff --git a/packages/connector-alipay/jest.config.ts b/packages/connector-alipay-web/jest.config.ts
similarity index 100%
rename from packages/connector-alipay/jest.config.ts
rename to packages/connector-alipay-web/jest.config.ts
diff --git a/packages/connector-alipay/logo.svg b/packages/connector-alipay-web/logo.svg
similarity index 100%
rename from packages/connector-alipay/logo.svg
rename to packages/connector-alipay-web/logo.svg
diff --git a/packages/connector-alipay/package.json b/packages/connector-alipay-web/package.json
similarity index 97%
rename from packages/connector-alipay/package.json
rename to packages/connector-alipay-web/package.json
index 740807b0f..31ec8907c 100644
--- a/packages/connector-alipay/package.json
+++ b/packages/connector-alipay-web/package.json
@@ -1,5 +1,5 @@
 {
-  "name": "@logto/connector-alipay",
+  "name": "@logto/connector-alipay-web",
   "version": "1.0.0-beta.0",
   "description": "Alipay implementation.",
   "main": "./lib/index.js",
diff --git a/packages/connector-alipay/src/constant.ts b/packages/connector-alipay-web/src/constant.ts
similarity index 100%
rename from packages/connector-alipay/src/constant.ts
rename to packages/connector-alipay-web/src/constant.ts
diff --git a/packages/connector-alipay/src/index.test.ts b/packages/connector-alipay-web/src/index.test.ts
similarity index 100%
rename from packages/connector-alipay/src/index.test.ts
rename to packages/connector-alipay-web/src/index.test.ts
diff --git a/packages/connector-alipay/src/index.ts b/packages/connector-alipay-web/src/index.ts
similarity index 100%
rename from packages/connector-alipay/src/index.ts
rename to packages/connector-alipay-web/src/index.ts
diff --git a/packages/connector-alipay/src/mock.ts b/packages/connector-alipay-web/src/mock.ts
similarity index 100%
rename from packages/connector-alipay/src/mock.ts
rename to packages/connector-alipay-web/src/mock.ts
diff --git a/packages/connector-alipay/src/types.ts b/packages/connector-alipay-web/src/types.ts
similarity index 100%
rename from packages/connector-alipay/src/types.ts
rename to packages/connector-alipay-web/src/types.ts
diff --git a/packages/connector-alipay/src/utils.test.ts b/packages/connector-alipay-web/src/utils.test.ts
similarity index 100%
rename from packages/connector-alipay/src/utils.test.ts
rename to packages/connector-alipay-web/src/utils.test.ts
diff --git a/packages/connector-alipay/src/utils.ts b/packages/connector-alipay-web/src/utils.ts
similarity index 100%
rename from packages/connector-alipay/src/utils.ts
rename to packages/connector-alipay-web/src/utils.ts
diff --git a/packages/connector-alipay/tsconfig.base.json b/packages/connector-alipay-web/tsconfig.base.json
similarity index 100%
rename from packages/connector-alipay/tsconfig.base.json
rename to packages/connector-alipay-web/tsconfig.base.json
diff --git a/packages/connector-alipay/tsconfig.build.json b/packages/connector-alipay-web/tsconfig.build.json
similarity index 100%
rename from packages/connector-alipay/tsconfig.build.json
rename to packages/connector-alipay-web/tsconfig.build.json
diff --git a/packages/connector-alipay/tsconfig.json b/packages/connector-alipay-web/tsconfig.json
similarity index 100%
rename from packages/connector-alipay/tsconfig.json
rename to packages/connector-alipay-web/tsconfig.json
diff --git a/packages/connector-alipay/tsconfig.test.json b/packages/connector-alipay-web/tsconfig.test.json
similarity index 100%
rename from packages/connector-alipay/tsconfig.test.json
rename to packages/connector-alipay-web/tsconfig.test.json
diff --git a/packages/connector-wechat/CHANGELOG.md b/packages/connector-wechat-web/CHANGELOG.md
similarity index 100%
rename from packages/connector-wechat/CHANGELOG.md
rename to packages/connector-wechat-web/CHANGELOG.md
diff --git a/packages/connector-wechat/README.md b/packages/connector-wechat-web/README.md
similarity index 100%
rename from packages/connector-wechat/README.md
rename to packages/connector-wechat-web/README.md
diff --git a/packages/connector-wechat/docs/app-tabs.png b/packages/connector-wechat-web/docs/app-tabs.png
similarity index 100%
rename from packages/connector-wechat/docs/app-tabs.png
rename to packages/connector-wechat-web/docs/app-tabs.png
diff --git a/packages/connector-wechat/docs/config-template.json b/packages/connector-wechat-web/docs/config-template.json
similarity index 100%
rename from packages/connector-wechat/docs/config-template.json
rename to packages/connector-wechat-web/docs/config-template.json
diff --git a/packages/connector-wechat/docs/create-web-app.png b/packages/connector-wechat-web/docs/create-web-app.png
similarity index 100%
rename from packages/connector-wechat/docs/create-web-app.png
rename to packages/connector-wechat-web/docs/create-web-app.png
diff --git a/packages/connector-wechat/jest.config.ts b/packages/connector-wechat-web/jest.config.ts
similarity index 100%
rename from packages/connector-wechat/jest.config.ts
rename to packages/connector-wechat-web/jest.config.ts
diff --git a/packages/connector-wechat/logo.svg b/packages/connector-wechat-web/logo.svg
similarity index 100%
rename from packages/connector-wechat/logo.svg
rename to packages/connector-wechat-web/logo.svg
diff --git a/packages/connector-wechat/package.json b/packages/connector-wechat-web/package.json
similarity index 97%
rename from packages/connector-wechat/package.json
rename to packages/connector-wechat-web/package.json
index 3095958a0..d9748ea0c 100644
--- a/packages/connector-wechat/package.json
+++ b/packages/connector-wechat-web/package.json
@@ -1,5 +1,5 @@
 {
-  "name": "@logto/connector-wechat",
+  "name": "@logto/connector-wechat-web",
   "version": "1.0.0-beta.0",
   "description": "Wechat Web connector implementation.",
   "main": "./lib/index.js",
diff --git a/packages/connector-wechat/src/constant.ts b/packages/connector-wechat-web/src/constant.ts
similarity index 100%
rename from packages/connector-wechat/src/constant.ts
rename to packages/connector-wechat-web/src/constant.ts
diff --git a/packages/connector-wechat/src/index.test.ts b/packages/connector-wechat-web/src/index.test.ts
similarity index 100%
rename from packages/connector-wechat/src/index.test.ts
rename to packages/connector-wechat-web/src/index.test.ts
diff --git a/packages/connector-wechat/src/index.ts b/packages/connector-wechat-web/src/index.ts
similarity index 100%
rename from packages/connector-wechat/src/index.ts
rename to packages/connector-wechat-web/src/index.ts
diff --git a/packages/connector-wechat/src/mock.ts b/packages/connector-wechat-web/src/mock.ts
similarity index 100%
rename from packages/connector-wechat/src/mock.ts
rename to packages/connector-wechat-web/src/mock.ts
diff --git a/packages/connector-wechat/src/types.ts b/packages/connector-wechat-web/src/types.ts
similarity index 100%
rename from packages/connector-wechat/src/types.ts
rename to packages/connector-wechat-web/src/types.ts
diff --git a/packages/connector-wechat/tsconfig.base.json b/packages/connector-wechat-web/tsconfig.base.json
similarity index 100%
rename from packages/connector-wechat/tsconfig.base.json
rename to packages/connector-wechat-web/tsconfig.base.json
diff --git a/packages/connector-wechat/tsconfig.build.json b/packages/connector-wechat-web/tsconfig.build.json
similarity index 100%
rename from packages/connector-wechat/tsconfig.build.json
rename to packages/connector-wechat-web/tsconfig.build.json
diff --git a/packages/connector-wechat/tsconfig.json b/packages/connector-wechat-web/tsconfig.json
similarity index 100%
rename from packages/connector-wechat/tsconfig.json
rename to packages/connector-wechat-web/tsconfig.json
diff --git a/packages/connector-wechat/tsconfig.test.json b/packages/connector-wechat-web/tsconfig.test.json
similarity index 100%
rename from packages/connector-wechat/tsconfig.test.json
rename to packages/connector-wechat-web/tsconfig.test.json
diff --git a/packages/core/package.json b/packages/core/package.json
index 3ebd7c86b..f1931cf30 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -19,7 +19,7 @@
     "test:report": "codecov -F core"
   },
   "dependencies": {
-    "@logto/connector-alipay": "^1.0.0-beta.0",
+    "@logto/connector-alipay-web": "^1.0.0-beta.0",
     "@logto/connector-alipay-native": "^1.0.0-beta.0",
     "@logto/connector-aliyun-dm": "^1.0.0-beta.0",
     "@logto/connector-aliyun-sms": "^1.0.0-beta.0",
@@ -31,7 +31,7 @@
     "@logto/connector-smtp": "^1.0.0-beta.0",
     "@logto/connector-twilio-sms": "^1.0.0-beta.0",
     "@logto/connector-types": "^1.0.0-beta.0",
-    "@logto/connector-wechat": "^1.0.0-beta.0",
+    "@logto/connector-wechat-web": "^1.0.0-beta.0",
     "@logto/connector-wechat-native": "^1.0.0-beta.0",
     "@logto/phrases": "^1.0.0-beta.0",
     "@logto/schemas": "^1.0.0-beta.0",
diff --git a/packages/core/src/connectors/consts.ts b/packages/core/src/connectors/consts.ts
index 9a84b78b9..27a2f4536 100644
--- a/packages/core/src/connectors/consts.ts
+++ b/packages/core/src/connectors/consts.ts
@@ -1,7 +1,7 @@
 import { getEnv } from '@silverhand/essentials';
 
 const defaultPackages = [
-  '@logto/connector-alipay',
+  '@logto/connector-alipay-web',
   '@logto/connector-alipay-native',
   '@logto/connector-aliyun-dm',
   '@logto/connector-aliyun-sms',
@@ -12,7 +12,7 @@ const defaultPackages = [
   '@logto/connector-sendgrid-email',
   '@logto/connector-smtp',
   '@logto/connector-twilio-sms',
-  '@logto/connector-wechat',
+  '@logto/connector-wechat-web',
   '@logto/connector-wechat-native',
 ];
 
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1d406d0ea..05f17a577 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -18,65 +18,6 @@ importers:
       lerna: 5.0.0
       typescript: 4.6.2
 
-  packages/connector-alipay:
-    specifiers:
-      '@jest/types': ^27.5.1
-      '@logto/connector-types': ^1.0.0-beta.0
-      '@logto/shared': ^1.0.0-beta.0
-      '@shopify/jest-koa-mocks': ^5.0.0
-      '@silverhand/eslint-config': ^0.16.2
-      '@silverhand/essentials': ^1.1.0
-      '@silverhand/jest-config': ^0.16.2
-      '@silverhand/ts-config': ^0.16.2
-      '@types/jest': ^27.4.1
-      '@types/lodash.pick': ^4.4.6
-      '@types/node': ^16.3.1
-      '@types/supertest': ^2.0.11
-      dayjs: ^1.10.5
-      eslint: ^8.19.0
-      got: ^11.8.2
-      iconv-lite: 0.6.3
-      jest: ^27.5.1
-      jest-matcher-specific-error: ^1.0.0
-      lint-staged: ^13.0.0
-      nock: ^13.2.2
-      prettier: ^2.3.2
-      snakecase-keys: ^5.1.0
-      supertest: ^6.2.2
-      ts-jest: ^27.1.1
-      tsc-watch: ^5.0.0
-      typescript: ^4.6.2
-      zod: ^3.14.3
-    dependencies:
-      '@logto/connector-types': link:../connector-types
-      '@logto/shared': link:../shared
-      '@silverhand/essentials': 1.1.7
-      '@silverhand/jest-config': 0.16.2_tgc6da2oqazvrn56dzwolsqo5i
-      dayjs: 1.10.7
-      got: 11.8.3
-      iconv-lite: 0.6.3
-      snakecase-keys: 5.1.2
-      zod: 3.14.3
-    devDependencies:
-      '@jest/types': 27.5.1
-      '@shopify/jest-koa-mocks': 5.0.0
-      '@silverhand/eslint-config': 0.16.2_udveqfgjtporakzcjlry75cuqi
-      '@silverhand/ts-config': 0.16.2_typescript@4.6.3
-      '@types/jest': 27.4.1
-      '@types/lodash.pick': 4.4.6
-      '@types/node': 16.11.12
-      '@types/supertest': 2.0.11
-      eslint: 8.19.0
-      jest: 27.5.1
-      jest-matcher-specific-error: 1.0.0
-      lint-staged: 13.0.0
-      nock: 13.2.2
-      prettier: 2.5.1
-      supertest: 6.2.2
-      ts-jest: 27.1.1_tgc6da2oqazvrn56dzwolsqo5i
-      tsc-watch: 5.0.3_typescript@4.6.3
-      typescript: 4.6.3
-
   packages/connector-alipay-native:
     specifiers:
       '@jest/types': ^27.5.1
@@ -136,6 +77,65 @@ importers:
       tsc-watch: 5.0.3_typescript@4.6.4
       typescript: 4.6.4
 
+  packages/connector-alipay-web:
+    specifiers:
+      '@jest/types': ^27.5.1
+      '@logto/connector-types': ^1.0.0-beta.0
+      '@logto/shared': ^1.0.0-beta.0
+      '@shopify/jest-koa-mocks': ^5.0.0
+      '@silverhand/eslint-config': ^0.16.2
+      '@silverhand/essentials': ^1.1.0
+      '@silverhand/jest-config': ^0.16.2
+      '@silverhand/ts-config': ^0.16.2
+      '@types/jest': ^27.4.1
+      '@types/lodash.pick': ^4.4.6
+      '@types/node': ^16.3.1
+      '@types/supertest': ^2.0.11
+      dayjs: ^1.10.5
+      eslint: ^8.19.0
+      got: ^11.8.2
+      iconv-lite: 0.6.3
+      jest: ^27.5.1
+      jest-matcher-specific-error: ^1.0.0
+      lint-staged: ^13.0.0
+      nock: ^13.2.2
+      prettier: ^2.3.2
+      snakecase-keys: ^5.1.0
+      supertest: ^6.2.2
+      ts-jest: ^27.1.1
+      tsc-watch: ^5.0.0
+      typescript: ^4.6.2
+      zod: ^3.14.3
+    dependencies:
+      '@logto/connector-types': link:../connector-types
+      '@logto/shared': link:../shared
+      '@silverhand/essentials': 1.1.7
+      '@silverhand/jest-config': 0.16.2_u4suh3umvg724wu2nufptihvny
+      dayjs: 1.10.7
+      got: 11.8.3
+      iconv-lite: 0.6.3
+      snakecase-keys: 5.1.2
+      zod: 3.14.3
+    devDependencies:
+      '@jest/types': 27.5.1
+      '@shopify/jest-koa-mocks': 5.0.0
+      '@silverhand/eslint-config': 0.16.2_zheml67kdyttrjblcc5k6h6tmu
+      '@silverhand/ts-config': 0.16.2_typescript@4.7.2
+      '@types/jest': 27.4.1
+      '@types/lodash.pick': 4.4.6
+      '@types/node': 16.11.12
+      '@types/supertest': 2.0.11
+      eslint: 8.19.0
+      jest: 27.5.1
+      jest-matcher-specific-error: 1.0.0
+      lint-staged: 13.0.0
+      nock: 13.2.2
+      prettier: 2.5.1
+      supertest: 6.2.2
+      ts-jest: 27.1.1_u4suh3umvg724wu2nufptihvny
+      tsc-watch: 5.0.3_typescript@4.7.2
+      typescript: 4.7.2
+
   packages/connector-aliyun-dm:
     specifiers:
       '@jest/types': ^27.5.1
@@ -570,53 +570,6 @@ importers:
       ts-jest: 27.1.1_tgc6da2oqazvrn56dzwolsqo5i
       typescript: 4.6.3
 
-  packages/connector-wechat:
-    specifiers:
-      '@jest/types': ^27.5.1
-      '@logto/connector-types': ^1.0.0-beta.0
-      '@logto/schemas': ^1.0.0-beta.0
-      '@logto/shared': ^1.0.0-beta.0
-      '@silverhand/eslint-config': ^0.16.2
-      '@silverhand/essentials': ^1.1.0
-      '@silverhand/jest-config': ^0.16.2
-      '@silverhand/ts-config': ^0.16.2
-      '@types/jest': ^27.4.1
-      '@types/node': ^16.3.1
-      eslint: ^8.19.0
-      got: ^11.8.2
-      jest: ^27.5.1
-      jest-matcher-specific-error: ^1.0.0
-      lint-staged: ^13.0.0
-      nock: ^13.2.2
-      prettier: ^2.3.2
-      ts-jest: ^27.1.1
-      tsc-watch: ^5.0.0
-      typescript: ^4.6.2
-      zod: ^3.14.3
-    dependencies:
-      '@logto/connector-types': link:../connector-types
-      '@logto/schemas': link:../schemas
-      '@logto/shared': link:../shared
-      '@silverhand/essentials': 1.1.7
-      '@silverhand/jest-config': 0.16.2_tgc6da2oqazvrn56dzwolsqo5i
-      got: 11.8.3
-      zod: 3.14.3
-    devDependencies:
-      '@jest/types': 27.5.1
-      '@silverhand/eslint-config': 0.16.2_udveqfgjtporakzcjlry75cuqi
-      '@silverhand/ts-config': 0.16.2_typescript@4.6.3
-      '@types/jest': 27.4.1
-      '@types/node': 16.11.12
-      eslint: 8.19.0
-      jest: 27.5.1
-      jest-matcher-specific-error: 1.0.0
-      lint-staged: 13.0.0
-      nock: 13.2.2
-      prettier: 2.5.1
-      ts-jest: 27.1.1_tgc6da2oqazvrn56dzwolsqo5i
-      tsc-watch: 5.0.3_typescript@4.6.3
-      typescript: 4.6.3
-
   packages/connector-wechat-native:
     specifiers:
       '@jest/types': ^27.5.1
@@ -664,6 +617,53 @@ importers:
       tsc-watch: 5.0.3_typescript@4.6.3
       typescript: 4.6.3
 
+  packages/connector-wechat-web:
+    specifiers:
+      '@jest/types': ^27.5.1
+      '@logto/connector-types': ^1.0.0-beta.0
+      '@logto/schemas': ^1.0.0-beta.0
+      '@logto/shared': ^1.0.0-beta.0
+      '@silverhand/eslint-config': ^0.16.2
+      '@silverhand/essentials': ^1.1.0
+      '@silverhand/jest-config': ^0.16.2
+      '@silverhand/ts-config': ^0.16.2
+      '@types/jest': ^27.4.1
+      '@types/node': ^16.3.1
+      eslint: ^8.19.0
+      got: ^11.8.2
+      jest: ^27.5.1
+      jest-matcher-specific-error: ^1.0.0
+      lint-staged: ^13.0.0
+      nock: ^13.2.2
+      prettier: ^2.3.2
+      ts-jest: ^27.1.1
+      tsc-watch: ^5.0.0
+      typescript: ^4.6.2
+      zod: ^3.14.3
+    dependencies:
+      '@logto/connector-types': link:../connector-types
+      '@logto/schemas': link:../schemas
+      '@logto/shared': link:../shared
+      '@silverhand/essentials': 1.1.7
+      '@silverhand/jest-config': 0.16.2_u4suh3umvg724wu2nufptihvny
+      got: 11.8.3
+      zod: 3.14.3
+    devDependencies:
+      '@jest/types': 27.5.1
+      '@silverhand/eslint-config': 0.16.2_zheml67kdyttrjblcc5k6h6tmu
+      '@silverhand/ts-config': 0.16.2_typescript@4.7.2
+      '@types/jest': 27.4.1
+      '@types/node': 16.11.12
+      eslint: 8.19.0
+      jest: 27.5.1
+      jest-matcher-specific-error: 1.0.0
+      lint-staged: 13.0.0
+      nock: 13.2.2
+      prettier: 2.5.1
+      ts-jest: 27.1.1_u4suh3umvg724wu2nufptihvny
+      tsc-watch: 5.0.3_typescript@4.7.2
+      typescript: 4.7.2
+
   packages/console:
     specifiers:
       '@fontsource/roboto-mono': ^4.5.7
@@ -794,8 +794,8 @@ importers:
 
   packages/core:
     specifiers:
-      '@logto/connector-alipay': ^1.0.0-beta.0
       '@logto/connector-alipay-native': ^1.0.0-beta.0
+      '@logto/connector-alipay-web': ^1.0.0-beta.0
       '@logto/connector-aliyun-dm': ^1.0.0-beta.0
       '@logto/connector-aliyun-sms': ^1.0.0-beta.0
       '@logto/connector-apple': ^1.0.0-beta.0
@@ -806,8 +806,8 @@ importers:
       '@logto/connector-smtp': ^1.0.0-beta.0
       '@logto/connector-twilio-sms': ^1.0.0-beta.0
       '@logto/connector-types': ^1.0.0-beta.0
-      '@logto/connector-wechat': ^1.0.0-beta.0
       '@logto/connector-wechat-native': ^1.0.0-beta.0
+      '@logto/connector-wechat-web': ^1.0.0-beta.0
       '@logto/phrases': ^1.0.0-beta.0
       '@logto/schemas': ^1.0.0-beta.0
       '@logto/shared': ^1.0.0-beta.0
@@ -879,8 +879,8 @@ importers:
       typescript: ^4.6.2
       zod: ^3.14.3
     dependencies:
-      '@logto/connector-alipay': link:../connector-alipay
       '@logto/connector-alipay-native': link:../connector-alipay-native
+      '@logto/connector-alipay-web': link:../connector-alipay-web
       '@logto/connector-aliyun-dm': link:../connector-aliyun-dm
       '@logto/connector-aliyun-sms': link:../connector-aliyun-sms
       '@logto/connector-apple': link:../connector-apple
@@ -891,8 +891,8 @@ importers:
       '@logto/connector-smtp': link:../connector-smtp
       '@logto/connector-twilio-sms': link:../connector-twilio-sms
       '@logto/connector-types': link:../connector-types
-      '@logto/connector-wechat': link:../connector-wechat
       '@logto/connector-wechat-native': link:../connector-wechat-native
+      '@logto/connector-wechat-web': link:../connector-wechat-web
       '@logto/phrases': link:../phrases
       '@logto/schemas': link:../schemas
       '@logto/shared': link:../shared