Configuration du fournisseur d'identité Google (Google APIs).
Déclaration d'EoleSSO comme fournisseur de service
Pour récupérer votre Client ID / Client Secret, vous devez créer un compte développeur depuis cette adresse : https://developers.google.com/
Rendez-vous dans la console développeur de Google afin de déclarer votre service EoleSSO comme application : https://console.developers.google.com
Créez un nouveau projet (barre supérieure de la console ->
select a project
->create a project
) ;Une fois le projet créé, cliquez sur la barre de menu gauche (3 barres horizontales), puis sur
API Manager
. Cliquez ensuite surCredentials
(à gauche) ;Cliquer sur
Oauth Consent Screen
et renseigner au minimum le champProduct name shown to users
(par exemple 'établissement xxx') ;Sauvegarder et dans Credentias, cliquer sur
Create credentials
, *Oauth Client ID" ;Choisir
Web application
et renseigner les champs suivants :- Name : au choix
- Authorized JavaScript origins : https://[adresse_serveur_sso]:8443
- Authorized redirect URIs : https://[adresse_serveur_sso]:8443/oidcallback
Cliquer sur Create et recopier l'identifiant et la clé secrète fournis ;
Configuration du fournisseur d'identité (Google) dans l'interface de configuration du module
Une fois les identifiants récupérés, vous pouvez configurer les paramètres d'EoleSSO (gen_config, onglet Eole SSO en mode expert)
Passer à
oui
la variableAutoriser l'authentification OpenID Connect
;ajouter un forunisseur en cliquant sur
+Référence du fournisseur d'identité OpenID
;Référence du fournisseur d'identité OpenID
: google (des logos sont présents et utilisés automatiquement en choisissant ce libellé) ;Libellé du fournisseur d'identité OpenID
: Google (ou autre description de votre choix) ;issuer
: https://accounts.google.com ;authorization_endpoint
: https://accounts.google.com/o/oauth2/v2/auth ;token_endpoint
: https://www.googleapis.com/oauth2/v4/token ;userinfo_endpoint
: https://www.googleapis.com/oauth2/v3/userinfo ;jwks_uri
: https://www.googleapis.com/oauth2/v3/certs .
En cas de problème, les paramètres en cours de validité sont décrits ici : https://accounts.google.com/.well-known/openid-configuration
Pour plus d'informations sur le support d'OpenID de Google : https://developers.google.com/identity/protocols/OpenIDConnect
Attention
L'identifiant client (Client ID) et la clé privée secrète ( Client secret) renvoyés par le fournisseur d'identité utilisés pour valider les échanges doivent être, pour des raisons de sécurité, stockés dans un fichier à part avec des droits restreints.
Pour chaque fournisseur d'identité, ajouter une ligne dans le fichier /etc/eole/eolesso_openid.conf
:
<nom_fournisseur> = "<client id> :<client secret>"
Le nom_fournisseur
doit correspondre au paramètre Référence du fournisseur d'identité OpenID
renseigné dans l'interface de configuration du module.
Si ces informations ne sont pas renseignées pour l'un des fournisseurs déclarés, un message l'indiquera au lancement de la commande diagnose
.