diff --git a/cmd/hspguard/api/api.go b/cmd/hspguard/api/api.go index 3eaf326..0506474 100644 --- a/cmd/hspguard/api/api.go +++ b/cmd/hspguard/api/api.go @@ -8,6 +8,7 @@ import ( "gitea.local/admin/hspguard/internal/auth" imiddleware "gitea.local/admin/hspguard/internal/middleware" + "gitea.local/admin/hspguard/internal/oauth" "gitea.local/admin/hspguard/internal/repository" "gitea.local/admin/hspguard/internal/storage" "gitea.local/admin/hspguard/internal/user" @@ -37,16 +38,22 @@ func (s *APIServer) Run() error { // staticDir := http.Dir(filepath.Join(workDir, "static")) // FileServer(router, "/static", staticDir) + oauthHandler := oauth.NewOAuthHandler() + router.Route("/api/v1", func(r chi.Router) { - r.Use(imiddleware.WithSkipper(imiddleware.AuthMiddleware, "/api/v1/login", "/api/v1/register")) + r.Use(imiddleware.WithSkipper(imiddleware.AuthMiddleware, "/api/v1/login", "/api/v1/register", "/api/v1/oauth")) userHandler := user.NewUserHandler(s.repo, s.storage) userHandler.RegisterRoutes(r) authHandler := auth.NewAuthHandler(s.repo) authHandler.RegisterRoutes(r) + + oauthHandler.RegisterRoutes(r) }) + router.Get("/.well-known/openid-configuration", oauthHandler.Metadata) + router.Get("/*", func(w http.ResponseWriter, r *http.Request) { path := "./dist" + r.URL.Path if _, err := os.Stat(path); os.IsNotExist(err) {