blaguth alternatives and similar packages
Based on the "Framework Components" category.
Alternatively, view blaguth alternatives based on common mentions on social networks and blogs.
-
dayron
A repository `similar` to Ecto.Repo that maps to an underlying http client, sending requests to an external rest api instead of a database -
rummage_phoenix
Full Phoenix Support for Rummage. It can be used for searching, sorting and paginating collections in phoenix. -
phoenix_token_auth
Token authentication solution for Phoenix. Useful for APIs for e.g. single page apps. -
access pass
provides a full user authentication experience for an API. Includes login,logout,register,forgot password, forgot username, confirmation email and all that other good stuff. Includes plug for checking for authenticated users and macro for generating the required routes. -
Votex
Implements vote / like / follow functionality for Ecto models in Elixir. Inspired from Acts as Votable gem in Ruby on Rails -
plug_canonical_host
PlugCanonicalHost ensures that all requests are served by a single canonical host. -
trailing_format_plug
An elixir plug to support legacy APIs that use a rails-like trailing format: http://api.dev/resources.json
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of blaguth or a related project?
README
Blaguth
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.