summaryrefslogtreecommitdiff
path: root/internal/configuration/validator/session.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/configuration/validator/session.go')
-rw-r--r--internal/configuration/validator/session.go19
1 files changed, 18 insertions, 1 deletions
diff --git a/internal/configuration/validator/session.go b/internal/configuration/validator/session.go
index d49ee185a..d78e917f4 100644
--- a/internal/configuration/validator/session.go
+++ b/internal/configuration/validator/session.go
@@ -2,8 +2,9 @@ package validator
import (
"errors"
-
+ "fmt"
"github.com/authelia/authelia/internal/configuration/schema"
+ "github.com/authelia/authelia/internal/utils"
)
// ValidateSession validates and update session configuration.
@@ -16,8 +17,24 @@ func ValidateSession(configuration *schema.SessionConfiguration, validator *sche
validator.Push(errors.New("Set secret of the session object"))
}
+ // TODO(james-d-elliott): Convert to duration notation
if configuration.Expiration == 0 {
configuration.Expiration = schema.DefaultSessionConfiguration.Expiration // 1 hour
+ } else if configuration.Expiration < 1 {
+ validator.Push(errors.New("Set expiration of the session above 0"))
+ }
+
+ // TODO(james-d-elliott): Convert to duration notation
+ if configuration.Inactivity < 0 {
+ validator.Push(errors.New("Set inactivity of the session to 0 or above"))
+ }
+
+ if configuration.RememberMeDuration == "" {
+ configuration.RememberMeDuration = schema.DefaultSessionConfiguration.RememberMeDuration
+ } else {
+ if _, err := utils.ParseDurationString(configuration.RememberMeDuration); err != nil {
+ validator.Push(errors.New(fmt.Sprintf("Error occurred parsing remember_me_duration string: %s", err)))
+ }
}
if configuration.Domain == "" {