This is a Plug module for adding HTTP Basic Authentication to a set of routes. Only basic authentication is currently supported.
Add plug_basic_auth
to the deps
function in your project's mix.exs
file:
defp deps do
[{:plug_basic_auth, "~> 0.2.2"}]
end
Then run mix do deps.get, deps.compile
inside your project's directory.
PlugBasicAuth can be used just as any other Plug. Add PlugBasicAuth before all of the other plugs you want to happen after successful authentication using the plug
function.
defmodule TopSecret do
import Plug.Conn
use Plug.Router
plug PlugBasicAuth, username: "Wayne", password: "Knight"
plug :match
plug :dispatch
get "/top_secret" do
conn
|> put_resp_content_type("text/plain")
|> send_resp(200, "Hello, Newman.")
end
end
- Enable adding authentication on a per route basis, instead of per router
- Add support for Digest Authentication
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
PlugBasicAuth uses the same license as Plug and the Elixir programming language. See the license file for more information.