mirror of
https://github.com/gotify/server.git
synced 2026-05-06 21:42:07 +08:00
fix: elevate session on login
This commit is contained in:
@@ -417,10 +417,12 @@ func (a *OIDCAPI) resolveUser(info *oidc.UserInfo) (*model.User, int, error) {
|
||||
}
|
||||
|
||||
func (a *OIDCAPI) createClient(name string, userID uint) (*model.Client, error) {
|
||||
elevatedUntil := time.Now().Add(model.DefaultElevationDuration)
|
||||
client := &model.Client{
|
||||
Name: name,
|
||||
Token: auth.GenerateNotExistingToken(generateClientToken, func(t string) bool { c, _ := a.DB.GetClientByToken(t); return c != nil }),
|
||||
UserID: userID,
|
||||
Name: name,
|
||||
Token: auth.GenerateNotExistingToken(generateClientToken, func(t string) bool { c, _ := a.DB.GetClientByToken(t); return c != nil }),
|
||||
UserID: userID,
|
||||
ElevatedUntil: &elevatedUntil,
|
||||
}
|
||||
return client, a.DB.CreateClient(client)
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package api
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gotify/server/v2/auth"
|
||||
@@ -74,10 +75,12 @@ func (a *SessionAPI) Login(ctx *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
elevatedUntil := time.Now().Add(model.DefaultElevationDuration)
|
||||
client := model.Client{
|
||||
Name: clientParams.Name,
|
||||
Token: auth.GenerateNotExistingToken(generateClientToken, a.clientExists),
|
||||
UserID: user.ID,
|
||||
Name: clientParams.Name,
|
||||
Token: auth.GenerateNotExistingToken(generateClientToken, a.clientExists),
|
||||
UserID: user.ID,
|
||||
ElevatedUntil: &elevatedUntil,
|
||||
}
|
||||
if success := successOrAbort(ctx, 500, a.DB.CreateClient(&client)); !success {
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user