feat(auth): implement yggdrasil authenticate endpoint

This commit is contained in:
2025-06-14 21:51:36 +03:00
parent 54ce479a6e
commit 4d42cfff2d
5 changed files with 209 additions and 8 deletions

View File

@@ -1,4 +1,3 @@
// File: backend/cmd/server/main.go
package main
import (
@@ -10,7 +9,7 @@ import (
"gitea.mrixs.me/minecraft-platform/backend/internal/database"
"github.com/go-chi/chi/v5"
"github.com/go-chi/chi/v5/middleware"
"github.comcom/go-chi/chi/v5/middleware"
)
func main() {
@@ -18,20 +17,31 @@ func main() {
db := database.Connect()
defer db.Close()
// Собираем наши зависимости (Dependency Injection)
// --- Собираем наши зависимости (Dependency Injection) ---
userRepo := &database.UserRepository{DB: db}
userService := &core.UserService{Repo: userRepo}
userHandler := &api.UserHandler{Service: userService}
// Создаем роутер
// Сервисы
userService := &core.UserService{Repo: userRepo}
authService := &core.AuthService{UserRepo: userRepo} // Новый сервис
// Хендлеры
userHandler := &api.UserHandler{Service: userService}
authHandler := &api.AuthHandler{Service: authService} // Новый хендлер
// --- Настраиваем роутер ---
r := chi.NewRouter()
r.Use(middleware.Logger)
r.Use(middleware.Recoverer)
// Группа маршрутов для API
// Группа маршрутов для Web API
r.Route("/api", func(r chi.Router) {
r.Post("/register", userHandler.Register)
// Здесь будут другие маршруты API
})
// Группа маршрутов для Yggdrasil API
r.Route("/authserver", func(r chi.Router) {
r.Post("/authenticate", authHandler.Authenticate)
// Здесь будут другие эндпоинты: refresh, validate, signout, invalidate
})
// Маршрут для проверки, что сервер жив