diff options
Diffstat (limited to 'internal/session')
| -rw-r--r-- | internal/session/encrypting_serializer.go | 3 | ||||
| -rw-r--r-- | internal/session/provider.go | 6 | ||||
| -rw-r--r-- | internal/session/provider_config.go | 2 |
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, |
