2025-04-02 14:29:44 +08:00

35 lines
691 B
Go

package middleware
import (
"gitee.ltd/lxh/wechat-robot/internal/config"
"github.com/gofiber/fiber/v2"
)
// IsAuthenticated 检查用户是否已登录
func IsAuthenticated(c *fiber.Ctx) bool {
token := c.Cookies("auth_token")
if token == "" {
return false
}
// 加载配置
cfg, err := config.Load()
if err != nil {
return false
}
// 对比token (简单实现,实际应用可能需要更复杂的验证)
return token == cfg.Auth.SecretKey
}
// Authenticate 创建身份验证中间件
func Authenticate() fiber.Handler {
return func(c *fiber.Ctx) error {
// 检查是否已登录
if !IsAuthenticated(c) {
return c.Redirect("/login")
}
return c.Next()
}
}