Skip to content

Conversation

@guisithos
Copy link

@guisithos guisithos commented Oct 30, 2024

Added a new CachedLDAP type that wraps the existing LDAP strategy and maintains access to the cache

type CachedLDAP struct {
    auth.Strategy
    cache auth.Cache
}

Then add the Revoke method:

func (c *CachedLDAP) Revoke(hash string) error {
    c.cache.Delete(hash)
    return nil
}

And per last, modified the NewCachde:

func NewCached(cfg *Config, c auth.Cache, opts ...auth.Option) auth.Strategy {
    fn := GetAuthenticateFunc(cfg, opts...)
    strategy := basic.NewCached(fn, c, opts...)
    return &CachedLDAP{
        Strategy: strategy,
        cache:    c,
    }
}

This should allow immediate invalidation of cached authentication without impacting any existing implementations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant