Merge branch 'feature/file-size-checking' into 'develop'
[akkoma] / lib / pleroma / plugs / basic_auth_decoder_plug.ex
1 defmodule Pleroma.Plugs.BasicAuthDecoderPlug do
2 import Plug.Conn
3
4 def init(options) do
5 options
6 end
7
8 def call(conn, _opts) do
9 with ["Basic " <> header] <- get_req_header(conn, "authorization"),
10 {:ok, userinfo} <- Base.decode64(header),
11 [username, password] <- String.split(userinfo, ":", parts: 2) do
12 conn
13 |> assign(:auth_credentials, %{
14 username: username,
15 password: password
16 })
17 else
18 _ -> conn
19 end
20 end
21 end