summaryrefslogtreecommitdiff
path: root/internal/session
diff options
context:
space:
mode:
Diffstat (limited to 'internal/session')
-rw-r--r--internal/session/encrypting_serializer.go3
-rw-r--r--internal/session/provider.go6
-rw-r--r--internal/session/provider_config.go2
3 files changed, 11 insertions, 0 deletions
diff --git a/internal/session/encrypting_serializer.go b/internal/session/encrypting_serializer.go
index 68b57b690..1232ddca6 100644
--- a/internal/session/encrypting_serializer.go
+++ b/internal/session/encrypting_serializer.go
@@ -46,6 +46,7 @@ func (e *EncryptingSerializer) Decode(dst *session.Dict, src []byte) error {
}
dst.Reset()
+
decryptedSrc, err := utils.Decrypt(src, &e.key)
if err != nil {
// If an error is thrown while decrypting, it's probably an old unencrypted session
@@ -56,9 +57,11 @@ func (e *EncryptingSerializer) Decode(dst *session.Dict, src []byte) error {
if uerr != nil {
return fmt.Errorf("Unable to decrypt session: %s", err)
}
+
return nil
}
_, err = dst.UnmarshalMsg(decryptedSrc)
+
return err
}
diff --git a/internal/session/provider.go b/internal/session/provider.go
index 90af6643e..212952104 100644
--- a/internal/session/provider.go
+++ b/internal/session/provider.go
@@ -29,18 +29,21 @@ func NewProvider(configuration schema.SessionConfiguration) *Provider {
if err != nil {
panic(err)
}
+
provider.RememberMe = duration
duration, err = utils.ParseDurationString(configuration.Inactivity)
if err != nil {
panic(err)
}
+
provider.Inactivity = duration
err = provider.sessionHolder.SetProvider(providerConfig.providerName, providerConfig.providerConfig)
if err != nil {
panic(err)
}
+
return provider
}
@@ -59,6 +62,7 @@ func (p *Provider) GetSession(ctx *fasthttp.RequestCtx) (UserSession, error) {
if !ok {
userSession := NewDefaultUserSession()
store.Set(userSessionStorerKey, userSession)
+
return userSession, nil
}
@@ -88,6 +92,7 @@ func (p *Provider) SaveSession(ctx *fasthttp.RequestCtx, userSession UserSession
store.Set(userSessionStorerKey, userSessionJSON)
p.sessionHolder.Save(ctx, store)
+
return nil
}
@@ -117,6 +122,7 @@ func (p *Provider) UpdateExpiration(ctx *fasthttp.RequestCtx, expiration time.Du
}
p.sessionHolder.Save(ctx, store)
+
return nil
}
diff --git a/internal/session/provider_config.go b/internal/session/provider_config.go
index 7551b0567..9ebfa1c65 100644
--- a/internal/session/provider_config.go
+++ b/internal/session/provider_config.go
@@ -32,6 +32,7 @@ func NewProviderConfig(configuration schema.SessionConfiguration) ProviderConfig
}
var providerConfig session.ProviderConfig
+
var providerName string
// If redis configuration is provided, then use the redis provider.
@@ -54,6 +55,7 @@ func NewProviderConfig(configuration schema.SessionConfiguration) ProviderConfig
providerName = "memory"
providerConfig = &memory.Config{}
}
+
return ProviderConfig{
config: config,
providerName: providerName,