feat: JWT 검증 엔드포인트 추가 (POST /api/auth/verify)
All checks were successful
Server CI/CD / deploy (push) Successful in 1m17s
All checks were successful
Server CI/CD / deploy (push) Successful in 1m17s
게임 서버가 클라이언트로부터 받은 JWT를 웹 서버에 전달하면, 서명 검증 + Redis 세션 확인 후 userId와 username을 응답한다. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -81,6 +81,25 @@ func (h *Handler) UpdateRole(c *fiber.Ctx) error {
|
||||
return c.JSON(fiber.Map{"message": "권한이 변경되었습니다"})
|
||||
}
|
||||
|
||||
func (h *Handler) VerifyToken(c *fiber.Ctx) error {
|
||||
var req struct {
|
||||
Token string `json:"token"`
|
||||
}
|
||||
if err := c.BodyParser(&req); err != nil || req.Token == "" {
|
||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "token 필드가 필요합니다"})
|
||||
}
|
||||
|
||||
userID, username, err := h.svc.VerifyToken(req.Token)
|
||||
if err != nil {
|
||||
return c.Status(fiber.StatusUnauthorized).JSON(fiber.Map{"error": err.Error()})
|
||||
}
|
||||
|
||||
return c.JSON(fiber.Map{
|
||||
"userId": userID,
|
||||
"username": username,
|
||||
})
|
||||
}
|
||||
|
||||
func (h *Handler) DeleteUser(c *fiber.Ctx) error {
|
||||
if err := h.svc.DeleteUser(c.Params("id")); err != nil {
|
||||
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{"error": "유저 삭제에 실패했습니다"})
|
||||
|
||||
Reference in New Issue
Block a user