Popularity
3.4
Growing
Activity
0.0
Stable
19
2
4

Monthly Downloads: 218
Programming language: Elixir
License: ISC License

blaguth alternatives and similar packages

Based on the "Framework Components" category.
Alternatively, view blaguth alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of blaguth or a related project?

Add another 'Framework Components' Package

README

Blaguth

Build Status Hex Version

Basic Access Authentication in Plug applications.

Installation

Add Blaguth as a dependency to your mix.exs file:

defp deps do
  [{:blaguth, "~> 1.2.0"}]
end

After you are done, run mix deps.get in your shell to fetch the dependencies.

Usage

Add Blaguth on top of a Plug Stack as follows:

defmodule CavePlug do
  import Plug.Conn
  use Plug.Builder

  plug Blaguth, realm: "Secret",
    credentials: {"Ali Baba", "Open Sesame"}

  plug :index

  def index(conn, _opts) do
    send_resp(conn, 200, "Hello Ali Baba")
  end
end

If you need more precise control over authentication process:

defmodule AdvancedPlug do
  import Plug.Conn
  use Plug.Router

  plug Blaguth

  plug :match
  plug :dispatch

  get "/" do
    send_resp(conn, 200, "Everyone can see me!")
  end

  get "/secret" do
    if authenticated?(conn.assigns) do
      send_resp(conn, 200, "I'm only accessible if you know the password")
    else
      Blaguth.halt_with_login(conn, "Secret")
    end
  end

  defp authenticated?(%{credentials: {user, pass}}) do
    User.authenticate(user, pass)
  end
end

License

This software is licensed under [the ISC license](LICENSE).


*Note that all licence references and agreements mentioned in the blaguth README section above are relevant to that project's source code only.