Add keycloak dev (#1023)

* Add keycloak dev

* Fix test using string keys
This commit is contained in:
Jamil
2022-10-14 14:19:24 -07:00
committed by GitHub
parent 2735a98540
commit aa67b689e5
5 changed files with 2234 additions and 7 deletions

View File

@@ -17,7 +17,7 @@ defmodule FzHttp.Configurations do
def auto_create_users?(field, provider) do
get!(field)
|> Map.get(provider)
|> Map.get(:auto_create_users)
|> Map.get("auto_create_users")
end
def change_configuration(%Configuration{} = config \\ get_configuration!()) do

View File

@@ -68,7 +68,7 @@ defmodule FzHttpWeb.AuthController do
{:ok, _state} <- verify_state(conn, state),
{:ok, tokens} <- openid_connect.fetch_tokens(provider, params),
{:ok, claims} <- openid_connect.verify(provider, tokens["id_token"]) do
case UserFromAuth.find_or_create(provider, claims) do
case UserFromAuth.find_or_create(provider_key, claims) do
{:ok, user} ->
# only first-time connect will include refresh token
with %{"refresh_token" => refresh_token} <- tokens do

View File

@@ -26,7 +26,7 @@ defmodule FzHttpWeb.UserFromAuthTest do
end
describe "find_or_create/2 via OIDC with auto create enabled" do
@tag config: %{"oidc_test" => %{auto_create_users: true}}
@tag config: %{"oidc_test" => %{"auto_create_users" => true}}
test "sign in creates user", %{config: config, email: email} do
restore_env(:openid_connect_providers, config, &on_exit/1)
@@ -38,7 +38,7 @@ defmodule FzHttpWeb.UserFromAuthTest do
end
describe "find_or_create/2 via OIDC with auto create disabled" do
@tag config: %{"oidc_test" => %{auto_create_users: false}}
@tag config: %{"oidc_test" => %{"auto_create_users" => false}}
test "sign in returns error", %{email: email, config: config} do
restore_env(:openid_connect_providers, config, &on_exit/1)
@@ -50,7 +50,7 @@ defmodule FzHttpWeb.UserFromAuthTest do
end
describe "find_or_create/2 via SAML with auto create enabled" do
@tag config: %{"saml_test" => %{auto_create_users: true}}
@tag config: %{"saml_test" => %{"auto_create_users" => true}}
test "sign in creates user", %{config: config, email: email} do
restore_env(:saml_identity_providers, config, &on_exit/1)
@@ -62,7 +62,7 @@ defmodule FzHttpWeb.UserFromAuthTest do
end
describe "find_or_create/2 via SAML with auto create disabled" do
@tag config: %{"saml_test" => %{auto_create_users: false}}
@tag config: %{"saml_test" => %{"auto_create_users" => false}}
test "sign in returns error", %{email: email, config: config} do
restore_env(:saml_identity_providers, config, &on_exit/1)

View File

@@ -1,6 +1,17 @@
version: '3.7'
services:
keycloak:
image: quay.io/keycloak/keycloak:19.0.3
environment:
- KEYCLOAK_ADMIN=admin
- KEYCLOAK_ADMIN_PASSWORD=admin
command: start-dev
ports:
- 8080:8080
networks:
- app
caddy:
image: caddy:2
volumes:
@@ -45,12 +56,13 @@ services:
- net.ipv6.conf.all.forwarding=1
depends_on:
- postgres
- keycloak
networks:
- app
- isolation
postgres:
image: postgres:15rc1
image: postgres:15rc2
volumes:
- postgres-data:/var/lib/postgresql/data
environment:

2215
priv/keycloak-realm.json Normal file

File diff suppressed because it is too large Load Diff