Files
quyun/backend/app/http/admin/auth.go
2025-04-25 10:08:10 +08:00

40 lines
776 B
Go

package admin
import (
"quyun/providers/jwt"
"github.com/gofiber/fiber/v3"
)
// @provider
type auth struct {
jwt *jwt.JWT
}
type AuthBody struct {
Username string `json:"username" validate:"required"`
Password string `json:"password" validate:"required"`
}
type TokenResponse struct {
Token string `json:"token"`
}
// Login
// @Router /v1/admin/auth [post]
// @Bind body body
func (ctl *auth) Login(ctx fiber.Ctx, body *AuthBody) (*TokenResponse, error) {
if body.Username == "admin" && body.Password == "xixi@0202" {
claim := ctl.jwt.CreateClaims(jwt.BaseClaims{
UserID: -20140202,
})
token, err := ctl.jwt.CreateToken(claim)
if err != nil {
return nil, err
}
return &TokenResponse{Token: token}, nil
}
return nil, fiber.ErrUnauthorized
}