增加root_token查询

This commit is contained in:
Sakurasan
2023-05-02 01:57:42 +08:00
parent ac79ceb04e
commit 0dc1d13720
3 changed files with 40 additions and 12 deletions

View File

@@ -30,10 +30,13 @@ or
```
wget https://github.com/mirrors2/opencatd-open/raw/main/docker/docker-compose.yml
```
## reset root token
```
docker exec -it opencatd-open ./opencatd reset_root
```
## 支持的命令
>获取 root 的 token
- `docker exec opencatd-open opencatd root_token`
>重置 root 的 token
- `docker exec opencatd-open opencatd reset_root`
## Q&A
关于证书?

View File

@@ -12,10 +12,10 @@ FROM alpine:latest AS runner
# 设置alpine 时间为上海时间
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update && apk --no-cache add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& export PATH=$PATH:/app
# RUN apk update && apk --no-cache add openssl libgcc libstdc++ binutils
WORKDIR /app
COPY --from=builder /build/bin/opencatd /app/opencatd
ENV GIN_MODE=release
ENV PATH=$PATH:/app
EXPOSE 80
ENTRYPOINT ["/app/opencatd"]

View File

@@ -9,19 +9,44 @@ import (
"github.com/gin-gonic/gin"
"github.com/google/uuid"
"gorm.io/gorm"
)
func main() {
args := os.Args[1:]
if len(args) > 0 && args[0] == "reset_root" {
log.Println("reset root token...")
ntoken := uuid.NewString()
if err := store.UpdateUser(uint(1), ntoken); err != nil {
log.Fatalln(err)
if len(args) > 0 {
switch args[0] {
case "reset_root":
log.Println("reset root token...")
if _, err := store.GetUserByID(uint(1)); err != nil {
if err == gorm.ErrRecordNotFound {
log.Println("请在opencat(或其他APP)客户端完成team初始化")
return
} else {
log.Fatalln(err)
return
}
}
ntoken := uuid.NewString()
if err := store.UpdateUser(uint(1), ntoken); err != nil {
log.Fatalln(err)
return
}
log.Println("new root token:", ntoken)
return
case "root_token":
log.Println("reset root token...")
if user, err := store.GetUserByID(uint(1)); err != nil {
log.Fatalln(err)
return
} else {
log.Println("root token:", user.Token)
return
}
default:
return
}
log.Println("new root token:", ntoken)
return
}
port := os.Getenv("PORT")
r := gin.Default()