Bonsoir,
Après avoir complété le fichier de configuration de mon instance de mobilizon à l’aide de la doc pour permettre l’authentification via openid connect (CAS dans mon cas), une erreur est apparue et semble concerner le splitting du champ default scope de la configuration.
Apr 21 23:23:17 mobilizon mobilizon[38114]: Request: GET /auth/keycloak/callback?code=<code_oidc>
Apr 21 23:23:17 mobilizon mobilizon[38114]: ** (exit) an exception was raised:
Apr 21 23:23:17 mobilizon mobilizon[38114]: ** (FunctionClauseError) no function clause matching in String.split/3
Apr 21 23:23:17 mobilizon mobilizon[38114]: (elixir 1.13.0) lib/string.ex:473: String.split(["email"], ",", [])
Apr 21 23:23:17 mobilizon mobilizon[38114]: (ueberauth_keycloak_strategy 0.2.0) lib/ueberauth/strategy/keycloak.ex:159: Ueberauth.Strategy.Keycloak.credentials/1
Apr 21 23:23:17 mobilizon mobilizon[38114]: (ueberauth_keycloak_strategy 0.2.0) lib/ueberauth/strategy.ex:284: Ueberauth.Strategy.Keycloak.auth/1
Apr 21 23:23:17 mobilizon mobilizon[38114]: (ueberauth 0.6.3) lib/ueberauth/strategy.ex:319: Ueberauth.Strategy.handle_callback_result/2
Apr 21 23:23:17 mobilizon mobilizon[38114]: (ueberauth 0.6.3) lib/ueberauth/strategy.ex:308: Ueberauth.Strategy.run_callback/2
Apr 21 23:23:17 mobilizon mobilizon[38114]: (mobilizon 2.0.2) lib/web/controllers/auth_controller.ex:80: Mobilizon.Web.AuthController.callback/2
Apr 21 23:23:17 mobilizon mobilizon[38114]: (mobilizon 2.0.2) lib/web/controllers/auth_controller.ex:1: Mobilizon.Web.AuthController.action/2
Apr 21 23:23:17 mobilizon mobilizon[38114]: (mobilizon 2.0.2) lib/web/controllers/auth_controller.ex:1: Mobilizon.Web.AuthController.phoenix_controller_pipeline/2
Je précise que le notre CAS (serveur d’authentification) autorise bien l’application à l’utiliser, le blocage arrive ensuite. Une page d’erreur de Mobilizon arrive bel et bien après l’authentification
We're sorry, but something went wrong on our end.
The Mobilizon server **Mobilizon** seems to be temporarily down.
If the issue persists, you may try to contact the server administrator
Je met la configuration oidc côté mobilizon.
config :ueberauth,
Ueberauth,
providers: [
keycloak: {Ueberauth.Strategy.Keycloak, [default_scope: "email"]}
]
config :mobilizon, :auth,
oauth_consumer_strategies: [
{:keycloak, "MiNET"}
]
config :ueberauth, Ueberauth.Strategy.Keycloak.OAuth,
client_id: "<clientId>",
client_secret: "<secret>",
site: "<site_url>",
authorize_url: "<authorize_url>",
token_url: "<token_url>",
userinfo_url: "<profile_url>",
token_method: :post
Si vous avez une piste à me proposer je vous en serais reconnaissant.
Merci !
Sulray