Add BasicAuthDecoderPlug
This commit is contained in:
parent
75bc68dbc1
commit
42bd985e66
2 changed files with 52 additions and 0 deletions
21
lib/pleroma/plugs/basic_auth_decoder_plug.ex
Normal file
21
lib/pleroma/plugs/basic_auth_decoder_plug.ex
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
defmodule Pleroma.Plugs.BasicAuthDecoderPlug do
|
||||
import Plug.Conn
|
||||
|
||||
def init(options) do
|
||||
options
|
||||
end
|
||||
|
||||
def call(conn, opts) do
|
||||
with ["Basic " <> header] <- get_req_header(conn, "authorization"),
|
||||
{:ok, userinfo} <- Base.decode64(header),
|
||||
[username, password] <- String.split(userinfo, ":", parts: 2) do
|
||||
conn
|
||||
|> assign(:auth_credentials, %{
|
||||
username: username,
|
||||
password: password
|
||||
})
|
||||
else
|
||||
_ -> conn
|
||||
end
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue