CAS Auth Fixes

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel 2022-05-02 14:25:42 +02:00
parent d7887ccb83
commit 1299b3baf1
No known key found for this signature in database
GPG key ID: A061B9DDE0CA0773
2 changed files with 7 additions and 1 deletions

View file

@ -140,4 +140,5 @@ export const SELECTED_PROVIDERS: { [key: string]: string } = {
google: "Google", google: "Google",
keycloak: "Keycloak", keycloak: "Keycloak",
ldap: "LDAP", ldap: "LDAP",
cas: "CAS",
}; };

View file

@ -4,6 +4,7 @@ defmodule Mobilizon.Web.AuthController do
alias Mobilizon.Service.Auth.Authenticator alias Mobilizon.Service.Auth.Authenticator
alias Mobilizon.Users alias Mobilizon.Users
alias Mobilizon.Users.User alias Mobilizon.Users.User
import Mobilizon.Service.Guards, only: [is_valid_string: 1]
require Logger require Logger
plug(:put_layout, false) plug(:put_layout, false)
@ -106,7 +107,11 @@ defmodule Mobilizon.Web.AuthController do
defp email_from_ueberauth(%Ueberauth.Auth{ defp email_from_ueberauth(%Ueberauth.Auth{
extra: %Ueberauth.Auth.Extra{raw_info: %{user: %{"email" => email}}} extra: %Ueberauth.Auth.Extra{raw_info: %{user: %{"email" => email}}}
}) })
when not is_nil(email) and email != "", when is_valid_string(email),
do: email
defp email_from_ueberauth(%Ueberauth.Auth{info: %Ueberauth.Auth.Info{email: email}})
when is_valid_string(email),
do: email do: email
defp email_from_ueberauth(_), do: nil defp email_from_ueberauth(_), do: nil