mirror of
https://github.com/Theodor-Springmann-Stiftung/musenalm.git
synced 2026-02-04 02:25:30 +00:00
BUGFIX: new user creation
This commit is contained in:
@@ -71,7 +71,7 @@ func (p *UserManagementAccessPage) GET(engine *templating.Engine, app core.App)
|
|||||||
// TODO: check if access token exists, if not generate
|
// TODO: check if access token exists, if not generate
|
||||||
data := make(map[string]any)
|
data := make(map[string]any)
|
||||||
data["role"] = role
|
data["role"] = role
|
||||||
data["access_url"] = "https://musenalm.de" + path_access + "?token=" + access_token.Token()
|
data["access_url"] = e.Request.Host + path_access + "?token=" + access_token.Token()
|
||||||
data["relative_url"] = path_access + "?token=" + access_token.Token()
|
data["relative_url"] = path_access + "?token=" + access_token.Token()
|
||||||
data["validUntil"] = access_token.Expires().Time().Local().Format("02.01.2006 15:04")
|
data["validUntil"] = access_token.Expires().Time().Local().Format("02.01.2006 15:04")
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ func (p *UserManagementAccessPage) POST(engine *templating.Engine, app core.App)
|
|||||||
|
|
||||||
data := make(map[string]any)
|
data := make(map[string]any)
|
||||||
data["role"] = role
|
data["role"] = role
|
||||||
data["access_url"] = "https://musenalm.de" + path_access + "?token=" + token.Token()
|
data["access_url"] = e.Request.Host + path_access + "?token=" + token.Token()
|
||||||
data["relative_url"] = path_access + "?token=" + token.Token()
|
data["relative_url"] = path_access + "?token=" + token.Token()
|
||||||
data["validUntil"] = token.Expires().Time().Format("02.01.2006 15:04")
|
data["validUntil"] = token.Expires().Time().Format("02.01.2006 15:04")
|
||||||
data["csrf_token"] = req.Session().Token
|
data["csrf_token"] = req.Session().Token
|
||||||
|
|||||||
@@ -187,13 +187,13 @@ func Images_KeyPrefix(app core.App, prefix string) ([]*Image, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func AccessTokens_Token(app core.App, token string) (*AccessToken, error) {
|
func AccessTokens_Token(app core.App, token string) (*AccessToken, error) {
|
||||||
t := HashStringSHA256(token)
|
ret, err := TableByField[AccessToken](
|
||||||
return TableByField[*AccessToken](
|
|
||||||
app,
|
app,
|
||||||
ACCESS_TOKENS_TABLE,
|
ACCESS_TOKENS_TABLE,
|
||||||
ACCESS_TOKENS_TOKEN_FIELD,
|
ACCESS_TOKENS_TOKEN_FIELD,
|
||||||
t,
|
token,
|
||||||
)
|
)
|
||||||
|
return &ret, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func Users_Email(app core.App, email string) (*User, error) {
|
func Users_Email(app core.App, email string) (*User, error) {
|
||||||
|
|||||||
@@ -25,6 +25,24 @@ func Authenticated(app core.App) func(*core.RequestEvent) error {
|
|||||||
return e.Next()
|
return e.Next()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
token := e.Request.URL.Query().Get("token")
|
||||||
|
if token != "" {
|
||||||
|
a, err := dbmodels.AccessTokens_Token(app, token)
|
||||||
|
if err != nil {
|
||||||
|
slog.Error("Failed to find access token", "token", token, "error", err)
|
||||||
|
} else {
|
||||||
|
if a.User() != "" {
|
||||||
|
u, err := dbmodels.Users_ID(app, a.User())
|
||||||
|
if err != nil {
|
||||||
|
slog.Error("Failed to find access token user", "user", a.User(), "error", err)
|
||||||
|
} else {
|
||||||
|
e.Set("access_token_user", u.Fixed())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
e.Set("access_token", a.Fixed())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
cookie, err := e.Request.Cookie(dbmodels.SESSION_COOKIE_NAME)
|
cookie, err := e.Request.Cookie(dbmodels.SESSION_COOKIE_NAME)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return e.Next()
|
return e.Next()
|
||||||
@@ -73,27 +91,6 @@ func Authenticated(app core.App) func(*core.RequestEvent) error {
|
|||||||
e.Set("user", user)
|
e.Set("user", user)
|
||||||
e.Set("session", session)
|
e.Set("session", session)
|
||||||
|
|
||||||
token := e.Request.URL.Query().Get("token")
|
|
||||||
if token != "" {
|
|
||||||
a, err := dbmodels.AccessTokens_Token(app, token)
|
|
||||||
if err != nil {
|
|
||||||
slog.Error("Failed to find access token", "token", token, "error", err)
|
|
||||||
return e.Next()
|
|
||||||
}
|
|
||||||
|
|
||||||
if a.User() != "" {
|
|
||||||
u, err := dbmodels.Users_ID(app, a.User())
|
|
||||||
if err != nil {
|
|
||||||
slog.Error("Failed to find access token user", "user", a.User(), "error", err)
|
|
||||||
return e.Next()
|
|
||||||
}
|
|
||||||
|
|
||||||
e.Set("access_token_user", u.Fixed())
|
|
||||||
}
|
|
||||||
|
|
||||||
e.Set("access_token", a.Fixed())
|
|
||||||
}
|
|
||||||
|
|
||||||
return e.Next()
|
return e.Next()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user