mirror of
https://github.com/usememos/memos.git
synced 2025-03-15 06:53:13 +08:00
fix: skip auth on /api/v1/status to avoid sign up while token invalid (#1895)
Skip auth on /api/v1/status to avoid sign up while token invalid
This commit is contained in:
parent
1c07ae2650
commit
2033b0c8fa
2 changed files with 2 additions and 20 deletions
|
@ -82,7 +82,7 @@ func JWTMiddleware(server *APIV1Service, next echo.HandlerFunc, secret string) e
|
||||||
}
|
}
|
||||||
|
|
||||||
// Skip validation for server status endpoints.
|
// Skip validation for server status endpoints.
|
||||||
if common.HasPrefixes(path, "/api/v1/ping", "/api/v1/idp", "/api/user/:id") && method == http.MethodGet {
|
if common.HasPrefixes(path, "/api/v1/ping", "/api/v1/idp", "/api/v1/status", "/api/user/:id") && method == http.MethodGet {
|
||||||
return next(c)
|
return next(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,7 +93,7 @@ func JWTMiddleware(server *APIV1Service, next echo.HandlerFunc, secret string) e
|
||||||
return next(c)
|
return next(c)
|
||||||
}
|
}
|
||||||
// When the request is not authenticated, we allow the user to access the memo endpoints for those public memos.
|
// When the request is not authenticated, we allow the user to access the memo endpoints for those public memos.
|
||||||
if common.HasPrefixes(path, "/api/v1/status", "/api/memo") && method == http.MethodGet {
|
if common.HasPrefixes(path, "/api/memo") && method == http.MethodGet {
|
||||||
return next(c)
|
return next(c)
|
||||||
}
|
}
|
||||||
return echo.NewHTTPError(http.StatusUnauthorized, "Missing access token")
|
return echo.NewHTTPError(http.StatusUnauthorized, "Missing access token")
|
||||||
|
|
|
@ -3,7 +3,6 @@ package v1
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
|
||||||
|
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
"github.com/usememos/memos/common/log"
|
"github.com/usememos/memos/common/log"
|
||||||
|
@ -124,23 +123,6 @@ func (s *APIV1Service) registerSystemRoutes(g *echo.Group) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
userID, ok := c.Get(getUserIDContextKey()).(int)
|
|
||||||
// Get database size for host user.
|
|
||||||
if ok {
|
|
||||||
user, err := s.Store.GetUser(ctx, &store.FindUser{
|
|
||||||
ID: &userID,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to find user").SetInternal(err)
|
|
||||||
}
|
|
||||||
if user != nil && user.Role == store.RoleHost {
|
|
||||||
fi, err := os.Stat(s.Profile.DSN)
|
|
||||||
if err != nil {
|
|
||||||
return echo.NewHTTPError(http.StatusInternalServerError, "Failed to read database fileinfo").SetInternal(err)
|
|
||||||
}
|
|
||||||
systemStatus.DBSize = fi.Size()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return c.JSON(http.StatusOK, systemStatus)
|
return c.JSON(http.StatusOK, systemStatus)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue