mirror of
https://akkoma.dev/AkkomaGang/akkoma.git
synced 2024-11-17 22:54:40 +00:00
Ueberauth: extended format of OAUTH_CONSUMER_STRATEGIES to allow explicit dependency specification.
This commit is contained in:
parent
e706b42f51
commit
83663caa81
3 changed files with 24 additions and 9 deletions
|
@ -453,7 +453,11 @@ config :pleroma, :ldap,
|
|||
config :esshd,
|
||||
enabled: false
|
||||
|
||||
oauth_consumer_strategies = String.split(System.get_env("OAUTH_CONSUMER_STRATEGIES") || "")
|
||||
oauth_consumer_strategies =
|
||||
System.get_env("OAUTH_CONSUMER_STRATEGIES")
|
||||
|> to_string()
|
||||
|> String.split()
|
||||
|> Enum.map(&hd(String.split(&1, ":")))
|
||||
|
||||
ueberauth_providers =
|
||||
for strategy <- oauth_consumer_strategies do
|
||||
|
|
|
@ -492,7 +492,7 @@ Authentication / authorization settings.
|
|||
|
||||
* `auth_template`: authentication form template. By default it's `show.html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/show.html.eex`.
|
||||
* `oauth_consumer_template`: OAuth consumer mode authentication form template. By default it's `consumer.html` which corresponds to `lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex`.
|
||||
* `oauth_consumer_strategies`: the list of enabled OAuth consumer strategies; by default it's set by OAUTH_CONSUMER_STRATEGIES environment variable.
|
||||
* `oauth_consumer_strategies`: the list of enabled OAuth consumer strategies; by default it's set by OAUTH_CONSUMER_STRATEGIES environment variable. Each entry in this space-delimited string should be of format `<strategy>` or `<strategy>:<dependency>` (e.g. `twitter` or `keycloak:ueberauth_keycloak_strategy` in case dependency is named differently than `ueberauth_<strategy>`).
|
||||
|
||||
## OAuth consumer mode
|
||||
|
||||
|
|
25
mix.exs
25
mix.exs
|
@ -51,16 +51,27 @@ defmodule Pleroma.Mixfile do
|
|||
defp elixirc_paths(:test), do: ["lib", "test/support"]
|
||||
defp elixirc_paths(_), do: ["lib"]
|
||||
|
||||
# Specifies OAuth dependencies.
|
||||
defp oauth_deps do
|
||||
oauth_strategy_packages =
|
||||
System.get_env("OAUTH_CONSUMER_STRATEGIES")
|
||||
|> to_string()
|
||||
|> String.split()
|
||||
|> Enum.map(fn strategy_entry ->
|
||||
with [_strategy, dependency] <- String.split(strategy_entry, ":") do
|
||||
dependency
|
||||
else
|
||||
[strategy] -> "ueberauth_#{strategy}"
|
||||
end
|
||||
end)
|
||||
|
||||
for s <- oauth_strategy_packages, do: {String.to_atom(s), ">= 0.0.0"}
|
||||
end
|
||||
|
||||
# Specifies your project dependencies.
|
||||
#
|
||||
# Type `mix help deps` for examples and options.
|
||||
defp deps do
|
||||
oauth_strategies = String.split(System.get_env("OAUTH_CONSUMER_STRATEGIES") || "")
|
||||
|
||||
oauth_deps =
|
||||
for s <- oauth_strategies,
|
||||
do: {String.to_atom("ueberauth_#{s}"), ">= 0.0.0"}
|
||||
|
||||
[
|
||||
{:phoenix, "~> 1.4.1"},
|
||||
{:plug_cowboy, "~> 2.0"},
|
||||
|
@ -121,7 +132,7 @@ defmodule Pleroma.Mixfile do
|
|||
{:ex_rated, "~> 1.2"},
|
||||
{:plug_static_index_html, "~> 1.0.0"},
|
||||
{:excoveralls, "~> 0.11.1", only: :test}
|
||||
] ++ oauth_deps
|
||||
] ++ oauth_deps()
|
||||
end
|
||||
|
||||
# Aliases are shortcuts or tasks specific to the current project.
|
||||
|
|
Loading…
Reference in a new issue