Instead of pattern-matching against the AuthManager ctor, we can use a withBackend :: (forall r. (IAuthBackend r) => r -> Handler b (AuthManager v) a) -> Handler b (AuthManager v) a. The handlers in Snap.Snaplet.Auth.Handlers have been rewritten to use this.
Instead of pattern-matching against the AuthManager ctor, we can use a
withBackend :: (forall r. (IAuthBackend r) => r -> Handler b (AuthManager v) a) -> Handler b (AuthManager v) a
. The handlers in Snap.Snaplet.Auth.Handlers have been rewritten to use this.This also adds a usernameExists function.