halo/console
guqing 7ca5270238
feat: support the expansion of other authentication methods (#3520)
#### What type of PR is this?
/kind feature
/milestone 2.4.0
/area core

#### What this PR does / why we need it:
支持扩展其他登录方式:
1. 增加 AdditionalWebFilter 扩展点,插件只需要实现此扩展点完成 Filter 逻辑
2. 增加 DynamicMatcherSecurityWebFilterChain 用于将 `apiFilterChain` 的 `SecurityWebFilterChain` 委托给此类,需要认证的请求都会 DynamicMatcherSecurityWebFilterChain 的过滤器进行处理,所以 `AdditionalWebFilter` 可以通过 order 将扩展的过滤器放到这条链上的任何位置。
3. 将表单登录改为实现扩展点的实现
4. 增加 ExtensionPointDefinition 和 ExtensionDefinition 自定义模型用于对扩展点和扩展进行描述
5. 提供 AuthProvider 自定义模型用于记录支持的登录方式提供商
6. 提供 UserConnection 自定义模型用于将第三方登录账号信息与当前系统账户进行绑定

how to test it?
1. 测试表单登录功能是否正常
2. 测试插件的 plugin-oauth-github 的 PR https://github.com/halo-sigs/plugin-oauth-github/pull/3 功能是否正常

#### Which issue(s) this PR fixes:

Fixes #3423

#### Does this PR introduce a user-facing change?

```release-note
支持扩展其他的认证方式
```
2023-03-21 03:54:28 +00:00
..
.changeset Move root to console 2023-03-02 15:49:22 +08:00
.husky Refactor workflow for new console project (#3445) 2023-03-02 18:07:23 +08:00
.vscode Move root to console 2023-03-02 15:49:22 +08:00
cypress Move root to console 2023-03-02 15:49:22 +08:00
docs Move root to console 2023-03-02 15:49:22 +08:00
packages feat: support the expansion of other authentication methods (#3520) 2023-03-21 03:54:28 +00:00
public Move root to console 2023-03-02 15:49:22 +08:00
src feat: support the expansion of other authentication methods (#3520) 2023-03-21 03:54:28 +00:00
.editorconfig Move root to console 2023-03-02 15:49:22 +08:00
.env.development Move root to console 2023-03-02 15:49:22 +08:00
.env.production Move root to console 2023-03-02 15:49:22 +08:00
.eslintrc.cjs Move root to console 2023-03-02 15:49:22 +08:00
.gitignore Refactor workflow for new console project (#3445) 2023-03-02 18:07:23 +08:00
.gitpod.yml Move root to console 2023-03-02 15:49:22 +08:00
.npmignore Move root to console 2023-03-02 15:49:22 +08:00
.npmrc Move root to console 2023-03-02 15:49:22 +08:00
.prettierignore Move root to console 2023-03-02 15:49:22 +08:00
Makefile chore: solving the issue of generating API client causing unnecessary diffs (#3465) 2023-03-07 14:14:14 +00:00
OWNERS Refactor workflow for new console project (#3445) 2023-03-02 18:07:23 +08:00
README.md Move root to console 2023-03-02 15:49:22 +08:00
cypress.json Move root to console 2023-03-02 15:49:22 +08:00
env.d.ts Move root to console 2023-03-02 15:49:22 +08:00
index.html Move root to console 2023-03-02 15:49:22 +08:00
package.json chore: bump formkit version to 0.16.2 (#3527) 2023-03-18 02:38:33 +00:00
pnpm-lock.yaml chore: bump formkit version to 0.16.2 (#3527) 2023-03-18 02:38:33 +00:00
pnpm-workspace.yaml Move root to console 2023-03-02 15:49:22 +08:00
postcss.config.js Move root to console 2023-03-02 15:49:22 +08:00
prettier.config.js Move root to console 2023-03-02 15:49:22 +08:00
tailwind.config.js Move root to console 2023-03-02 15:49:22 +08:00
tsconfig.app.json Move root to console 2023-03-02 15:49:22 +08:00
tsconfig.json Move root to console 2023-03-02 15:49:22 +08:00
tsconfig.vite-config.json Move root to console 2023-03-02 15:49:22 +08:00
tsconfig.vitest.json Move root to console 2023-03-02 15:49:22 +08:00
vite.config.ts Refactor workflow for new console project (#3445) 2023-03-02 18:07:23 +08:00
vitest.config.ts Move root to console 2023-03-02 15:49:22 +08:00

README.md

README

Halo logo

Halo 2.0 的管理端项目(原 halo-admin

GitHub release GitHub GitHub last commit GitHub Workflow Status Gitpod ready-to-code


当前仓库已经将 halo-admin 改为了 console。但对于 Halo 1.x 版本,依旧保持 halo-admin 的概念。

开发环境运行

# pnpm@7.0.0+
npm install -g pnpm
pnpm install 
pnpm build:packages
pnpm dev

生产构建

pnpm build

状态

Repobeats analytics