1
0
Fork 0
mirror of https://framagit.org/framasoft/mobilizon.git synced 2024-12-22 07:52:43 +00:00

Merge branch 'cas-fies' into 'main'

CAS Auth Fixes

See merge request framasoft/mobilizon!1225
This commit is contained in:
Thomas Citharel 2022-05-02 13:15:08 +00:00
commit b3e7f23604
3 changed files with 16 additions and 3 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

@ -18,7 +18,9 @@
$t( $t(
"Error while login with {provider}. Retry or login another way.", "Error while login with {provider}. Retry or login another way.",
{ {
provider: $route.query.provider, provider:
SELECTED_PROVIDERS[$route.query.provider] ||
"unknown provider",
} }
) )
}}</b-message }}</b-message
@ -31,7 +33,9 @@
$t( $t(
"Error while login with {provider}. This login provider doesn't exist.", "Error while login with {provider}. This login provider doesn't exist.",
{ {
provider: $route.query.provider, provider:
SELECTED_PROVIDERS[$route.query.provider] ||
"unknown provider",
} }
) )
}}</b-message }}</b-message
@ -136,6 +140,7 @@ import {
initializeCurrentActor, initializeCurrentActor,
NoIdentitiesException, NoIdentitiesException,
saveUserData, saveUserData,
SELECTED_PROVIDERS,
} from "../../utils/auth"; } from "../../utils/auth";
import { ILogin } from "../../types/login.model"; import { ILogin } from "../../types/login.model";
import { import {
@ -198,6 +203,8 @@ export default class Login extends Vue {
email: validateEmailField, email: validateEmailField,
}; };
SELECTED_PROVIDERS = SELECTED_PROVIDERS;
submitted = false; submitted = false;
mounted(): void { mounted(): void {

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