View Source Guardian.Plug.EnsureNotAuthenticated (Guardian v2.3.1)

This plug ensures that a resource is not logged in.

If one is not found, the auth_error will be called with :already_authenticated

This, like all other Guardian plugs, requires a Guardian pipeline to be setup. It requires an implementation module, an error handler and a key.

These can be set either:

  1. Upstream on the connection with plug Guardian.Pipeline
  2. Upstream on the connection with Guardian.Pipeline.{put_module, put_error_handler, put_key}
  3. Inline with an option of :module, :error_handler, :key


  • key - The location to find the information in the connection. Defaults to: default
  • halt - Whether to halt the connection in case of error. Defaults to true



# setup the upstream pipeline
plug Guardian.Plug.EnsureNotAuthenticated
plug Guardian.Plug.EnsureNotAuthenticated, key: :secret