halo/ui
guqing ae6724a2b6
feat: implement persistent token based remember me mechanism (#6131)
#### What type of PR is this?
/kind feature
/area core
/milestone 2.17.x

#### What this PR does / why we need it:
新增基于持久化 Token 的 RememberMe 机制

本次更新引入了一种新的 RememberMe 机制,该机制基于持久化 Token,以增强安全性和管理灵活性。在此之前,RememberMe 功能通过以下方式生成 Token,并将其作为 cookie 发送回客户端:
```
 username + ":" + expiryTime + ":" + algorithmName + ":"
   + algorithmHex(username + ":" + expiryTime + ":" + password + ":" + key)
```
此方法的优点在于无需存储 Token 就可以进行验证,并且用户密码的更改会自动使 Token 失效。然而,它的主要缺点是缺乏管理能力,例如无法手动撤销 Token。

鉴于最新的设备管理需求(见 PR #6100),我们需要一种支持设备撤销(revoke)的机制。因此,我们采用了持久化 Token 的方式,并通过随机生成的方法来提高安全性,而不将用户名和密码直接签名在 Token 中。新的 Token 格式如下:
```
base64(tokenValue:series)
```
此更改将为系统带来更高的安全保障和更灵活的管理选项,特别是在需要高度控制和监管设备访问时。

#### Does this PR introduce a user-facing change?
```release-note
引入基于持久化 Token 的新 RememberMe 机制以增强安全性和管理灵活性,升级后需要重新登录
```
2024-06-26 08:40:49 +00:00
..
.changeset Move folder console to ui 2024-02-02 22:22:51 +08:00
.husky Fix the problem of being unable to commit (#5362) 2024-02-18 08:00:16 +00:00
.vscode Move folder console to ui 2024-02-02 22:22:51 +08:00
console-src fix: autosave content feature not working (#6147) 2024-06-26 06:10:49 +00:00
cypress Move folder console to ui 2024-02-02 22:22:51 +08:00
docs feat: add verification function to the notification settings for the mailbox (#5464) 2024-03-26 08:00:07 +00:00
packages feat: implement persistent token based remember me mechanism (#6131) 2024-06-26 08:40:49 +00:00
public Move folder console to ui 2024-02-02 22:22:51 +08:00
src feat: range selection feature to default editor (#6117) 2024-06-26 06:14:50 +00:00
uc-src refactor: remove phone field for user form (#6139) 2024-06-26 03:56:48 +00:00
.editorconfig Move folder console to ui 2024-02-02 22:22:51 +08:00
.env.development chore: remove unnecessary env (#6022) 2024-05-30 08:31:16 +00:00
.env.production chore: remove unnecessary env (#6022) 2024-05-30 08:31:16 +00:00
.eslintrc.cjs Generate API docs and regenerate API client (#5742) 2024-04-19 02:34:07 +00:00
.gitignore Move folder console to ui 2024-02-02 22:22:51 +08:00
.gitpod.yml Move folder console to ui 2024-02-02 22:22:51 +08:00
.npmignore Move folder console to ui 2024-02-02 22:22:51 +08:00
.npmrc Move folder console to ui 2024-02-02 22:22:51 +08:00
.prettierignore Generate API docs and regenerate API client (#5742) 2024-04-19 02:34:07 +00:00
Makefile Move folder console to ui 2024-02-02 22:22:51 +08:00
OWNERS Move folder console to ui 2024-02-02 22:22:51 +08:00
README.md chore: bump pnpm version to 9 (#5953) 2024-05-21 03:24:45 +00:00
build.gradle Refactor api client using separated OpenAPI groups 2024-06-25 12:31:25 +08:00
cypress.json Move folder console to ui 2024-02-02 22:22:51 +08:00
env.d.ts fix: FormKit code input type error (#5522) 2024-03-18 08:24:08 +00:00
index.html refactor: implementation of browser tab title (#5794) 2024-04-25 03:43:10 +00:00
package.json feat: add requests library as a global shared dependency 2024-06-25 12:31:44 +08:00
pnpm-lock.yaml feat: add requests library as a global shared dependency 2024-06-25 12:31:44 +08:00
pnpm-workspace.yaml Move folder console to ui 2024-02-02 22:22:51 +08:00
postcss.config.cjs chore: bump vite to 5.x (#5920) 2024-05-16 06:18:36 +00:00
prettier.config.cjs chore: bump vite to 5.x (#5920) 2024-05-16 06:18:36 +00:00
tailwind.config.cjs chore: bump vite to 5.x (#5920) 2024-05-16 06:18:36 +00:00
tsconfig.app.json chore: bump vue related packages version (#5384) 2024-02-22 03:12:07 +00:00
tsconfig.json Move folder console to ui 2024-02-02 22:22:51 +08:00
tsconfig.node.json chore: bump vite to 5.x (#5920) 2024-05-16 06:18:36 +00:00
tsconfig.vitest.json Move folder console to ui 2024-02-02 22:22:51 +08:00
vite.config.ts chore: remove unnecessary env (#6022) 2024-05-30 08:31:16 +00:00
vite.uc.config.ts Add build script for ui project 2024-02-03 22:51:50 +08:00
vitest.config.ts Add build script for ui project 2024-02-03 22:51:50 +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 的概念。

开发环境运行

npm install -g pnpm@9
pnpm install 
pnpm build:packages
pnpm dev

生产构建

pnpm build

状态

Repobeats analytics