Commit Graph

13 Commits (a2d2d5443f11cafaf1888c31c0faa48967ad0f6e)

Author SHA1 Message Date
guqing ddca7731dd
feat: support user registration (#3631)
#### What type of PR is this?
/kind feature
/area core
/area console
/milestone 2.4.0

#### What this PR does / why we need it:
新增用户注册功能

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

#### Special notes for your reviewer:

#### Does this PR introduce a user-facing change?
```release-note
新增用户注册功能
```
2023-03-30 09:44:15 +00:00
Ryan Wang 8d9be88b94
chore: bump the patch version of all console dependencies (#3617)
#### What type of PR is this?

/kind improvement
/area console
/milestone 2.4.x

#### What this PR does / why we need it:

升级 Console 依赖的所有 patch 版本,由于升级了 prettier 的版本,可能发生了规则改变,所以同时包含重新格式化后的文件。

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

```release-note
None
```
2023-03-29 13:44:14 +00:00
Ryan Wang ab4b7c1f0d
chore: bump console and packages version to 2.4.0-rc.1 (#3596)
#### What type of PR is this?

/area console
/milestone 2.4.0

#### What this PR does / why we need it:

修改 Console 以及其下 packages 的版本为 2.4.0-rc.1

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

```release-note
None
```
2023-03-27 09:28:18 +00:00
Ryan Wang 403702021c
perf: improve the style of the scrollbar (#3587)
#### What type of PR is this?

/kind improvement
/area console
/milestone 2.4.x

#### What this PR does / why we need it:

优化页面滚动条的样式,引入 [OverlayScrollbars](https://github.com/KingSora/OverlayScrollbars) 实现类似于 macOS 下的仅滚动时显示滚动条的特性,并保证在各个浏览器的表现一致。

![2023-03-26 13 44 04](https://user-images.githubusercontent.com/21301288/227757677-ca2709be-03bc-4bdd-a74c-2e42a452417a.gif)

#### Special notes for your reviewer:

测试方式:使用不同的浏览器测试滚动条是否可以自动隐藏以及样式是否一致即可。

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

```release-note
优化 Console 端页面滚动条的样式。
```
2023-03-27 09:20:22 +00:00
Ryan Wang 8ce0913c0e
perf: hide disabled auth providers in user profile (#3561)
#### What type of PR is this?

/kind improvement
/area console

#### What this PR does / why we need it:

隐藏个人资料中未启用的认证方式。

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

Fixes #3556 

#### Special notes for your reviewer:

测试方式:

1. 安装 OAuth 2 插件:https://github.com/halo-sigs/plugin-oauth2/pull/3
2. 再不做任何配置的情况下,访问已登录用户的个人资料页面,检查是否列出了认证方式。
3. 配置某个认证方式并开启,再检查是否列出了已启用的认证方式。

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

```release-note
None
```
2023-03-27 08:32:12 +00:00
Ryan Wang 9a00a74f06
feat: add dropdown component to refactor the action buttons (#3576)
#### What type of PR is this?

/kind improvement
/area console
/milestone 2.4.x

#### What this PR does / why we need it:

在 `@halo-dev/components` 添加 Dropdown 组件用于统一 Console 端所有下拉框的样式和表现,同时方便插件使用。

<img width="1408" alt="image" src="https://user-images.githubusercontent.com/21301288/227758168-ed6f40ef-8627-4d5a-8a4a-476badf5196d.png">
<img width="992" alt="image" src="https://user-images.githubusercontent.com/21301288/227758184-01bf61a0-f778-4ba8-aaea-f6b99715b577.png">

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

Fixes #2987 

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

```release-note
Console 端添加 Dropdown 组件以统一所有下拉框的样式和表现。
```
2023-03-27 08:06:13 +00:00
Ryan Wang fbe8e627e8
perf: hide the switch of local identity authentication (#3562)
#### What type of PR is this?

/kind improvement
/area console 

#### What this PR does / why we need it:

在身份认证的列表中隐藏本地身份认证的启用/禁用开关。

<img width="1402" alt="image" src="https://user-images.githubusercontent.com/21301288/226804384-e12ea447-d7ad-4429-82bc-2621fcca84dc.png">

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

Fixes #3557 

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

```release-note
None 
```
2023-03-27 08:02:20 +00:00
Ryan Wang e759dd505f
feat(components): add disabled prop supports for switch component (#3564)
#### What type of PR is this?

/kind improvement
/area console

#### What this PR does / why we need it:

为 Switch 组件添加 disabled 属性以支持禁用。

<img width="1403" alt="image" src="https://user-images.githubusercontent.com/21301288/226829739-914eca3d-6d33-4d8c-9cc8-fe19b655ad9d.png">

#### Special notes for your reviewer:

1. `cd path/to/console/packages/components`
2. `pnpm story:dev`
3. 测试 Switch 组件的 disabled 属性是否工作正常。

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

```release-note
None
```
2023-03-23 14:16:34 +00:00
Ryan Wang b63d2b882c
feat: add i18n supports for console (#3506)
#### What type of PR is this?

/kind feature

#### What this PR does / why we need it:

为 Console 端添加多语言的支持,并默认提供简体中文和英文的语言包。

todolist:

- [x] 完善 Console 的文字语言包翻译。
- [ ] ~~为后端提供的部分数据支持翻译,比如系统设置的表单定义。(实现方式待讨论,这个 PR 先不支持)~~
- [x] 提供语言设置。

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

Fixes #3346 

#### Special notes for your reviewer:

测试方式:

1. 检查各个页面的文字显示是否正常。
2. 测试中英文环境中是否使用了对应的语言包。

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

```release-note
Console 端支持多语言界面
```
2023-03-23 08:54:33 +00:00
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
John Niang d192b8c956
Support logging in with encrypted password (#3480)
#### What type of PR is this?

/kind feature
/kind api-change
/area core
/area console
#### What this PR does / why we need it:

This PR creates AuthenticationWebFilter by ourselves instead of using FormLoginSpec directly. Because we have no chance to customize `org.springframework.security.web.server.authentication.ServerAuthenticationConverter` currently.

Meanwhile, we provide CryptoService(RSA) to generate key pair, get public key and decrypt message encrypted by public key.

There is a new endpoint to get public key which is used by console:

```bash
❯ curl localhost:8090/login/public-key -s | jq .
{
  "base64Format": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAouDtdDS751U8NcWfAAQ53ijEtkLnIHh1Thqkq5QHGslq2hBmWnNsIZFnc/bwVp00ImKLV2NtLgOuv5RRNS5iO+oqRvfOGdXLdW2nzqU2towtaMkYTEMJrsNMZp5BUNCGI7Z2xpPBZzvys0d1BvcpNFobX/LkOtcTyfB1DRp9ZAhxRYOZkTkCzaKo+6X11lnMexTsB3exzaXk9rRZ8XoJ+dWT5G0URs/PF2cDkgxuMdOFJzqDsb9HQYGI/etajdCcKs7mZsjmDgse9Cw9/3mgoTNnEGx9Wl89S0P+FJ7T5DALGt3/nSAlzmKdXJNBLf6Q44ogFpTWdq27JpJD3SKicQIDAQAB"
}
```

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

Fixes https://github.com/halo-dev/halo/issues/3419

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

```release-note
支持登录时密码加密传输
```
2023-03-08 09:52:12 +00:00
Ryan Wang bc186a4225
chore: solving the issue of generating API client causing unnecessary diffs (#3465)
#### What type of PR is this?

/kind improvement

#### What this PR does / why we need it:

为 springdoc 添加 `writer-with-order-by-keys` 参数以固定 OpenAPI 中接口的参数顺序,防止重新生成 `api-client` 时因为参数顺序不同而造成不必要的 diff。

#### Special notes for your reviewer:

测试方式:

1. 反复执行 `make -C console api-client-gen`
2. 观察是否有产生 diff

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

```release-note
None
```
2023-03-07 14:14:14 +00:00
johnniang 64919f9a1b Move root to console
Signed-off-by: johnniang <johnniang@fastmail.com>
2023-03-02 15:49:22 +08:00