Authentification centralisée

Geoconcept Web autorise la centralisation des authentifications, afin d’externaliser à un annuaire tiers la gestion des identifiants et des mots de passe des utilisateurs.

Il est possible soit d’utiliser l’authentification unique ou Single Sign-On (SSO) proposée par les réseaux sociaux (Google et/ou Twitter), soit de passer par l’Active Directory de votre organisation, ou encore d’autoriser le SSO avec votre Active Directory ou votre domaine Windows. Des trois méthodes proposées seule la dernière permet aux utilisateurs d’accéder à Geoconcept Web sans passer par la page de login.

Pour ce, après avoir arrêté le service Tomcat, il faut ajouter un fichier texte nommé geoweb-credentials.properties dans le dossier « <TOMCAT_HOME> »\lib\ et l'éditer en fonction des besoins précisés dans les sections suivantes.

[Astuce] Astuce

Il est possible de combiner dans le fichier geoweb-credentials.properties les configurations SSO réseaux sociaux et Active Directory. Par contre le SSO avec Active Directory n’est pas utilisable avec les autres méthodes.

Réseaux sociaux (SSO)

Google

Activation

L’utilisation de Google en SSO se fait en deux étapes

  • Activation de l’API Google+

Se rendre sur le site Web API Google+, se connecter avec un compte Google, puis cliquer sur Activer.

  • Créer un projet

Se rendre sur le site Web API Google, se connecter avec un compte Google, cliquer sur Créer un projet, saisir un Nom de projet, puis cliquez sur Créer.

Créer un identifiant, choisir ID client OAuth , puis dans Type d’application Application Web, saisir un Nom, renseigner URI de redirection autorisés sous la forme suivante :

http://<server>/geoconcept-web/google/callback?client_name=Google2Client

Récupérer ensuite :

  • ID Client, exemple : 1234567890123-85v762t4vk45895qixaiuf4b37be.apps.googleusercontent.com
  • code secret client, exemple : U9R5bpR9PaSfmu984S

Configuration

Editer le fichier geoweb-credentials.properties en ajoutant les paramètres suivants :

  • google.activated : true ou false pour activer ou désactiver la fonction
  • google.key : la valeur de ID Client
  • google.secret : la valeur de code secret client
  • google.callbackUrl : chemin de callback /google/callback
  • google.declaredCallbackUrl : url de callback (ex: http://<server>/geoconcept-web/google/callback )

Exemple 

#Google
google.activated=true
google.key=1234567890123-85v762t4vk45895qixaiuf4b37be.apps.googleusercontent.com
google.secret=U9R5bpR9PaSfmu984S
google.callbackUrl=/google/callback
google.declaredCallbackUrl=http://<server>/geoconcept-web/google/callback

Administration

Après avoir éditer le fichier geoweb-credentials.properties, démarrer le service Tomcat.

Depuis le menu Administration ▸ Droits ▸ Origines choisir l’Identifiant GOOGLE

  • Eventuellement renommer le Nom
  • Autoriser la création d’utilisateur
  • Eventuellement choisir un Motif, exemple geoconcept.com filtre uniquement les adresses correspondantes.
  • Choisir le groupe par défaut dans lequel seront créés les utilisateurs. Lorsque le compte est créé il est possible de le changer de groupe en passant par le menu Administration ▸ Droits ▸ Utilisateurs

Utilisation

Pour se connecter en utilisant le SSO de Google, l’utilisateur devra cliquer sur Se connecter avec Google

Page de Login avec SSO Google
gcweb-reference-img/guide-reference/sso_google_1.png

puis se connecter à Google ou choisir le compte Google à utiliser.

Sélectionner un compte Google
gcweb-reference-img/guide-reference/sso_google_2.png

Si le compte n’existe pas dans Geoconcept Web il est créé automatiquement lors de la première connexion.

Twitter

Activation

L’activation du SSO de Twitter se fait en une seule étape :

  • Création d’une application Twitter

Se rendre sur le site Web Application Management, se connecter avec un compte Twitter, puis renseigner le formulaire :

Récupérer ensuite :

  • key, exemple : U9R5bpR9PaSfmu984S
  • secret, exemple : j7m82A2SyTh64QPf3uS3ZsbZqa5jGdU6MU95u74U

Configuration

Editer le fichier geoweb-credentials.properties en ajoutant les paramètres suivants :

  • twitter.activated : true ou false pour activer ou désactiver la fonction
  • twitter.key : la valeur de ID Client
  • twitter.secret : la valeur de code secret client
  • googtwitterle.callbackUrl : chemin de callback /twitter/callback
  • twitter.declaredCallbackUrl : url de callback (ex: http://<server>/geoconcept-web/twitter/callback ) )

Exemple 

#Twitter
twitter.activated=true
twitter.key=U9R5bpR9PaSfmu984S
twitter.secret=j7m82A2SyTh64QPf3uS3ZsbZqa5jGdU6MU95u74U
twitter.callbackUrl=/twitter/callback
twitter.declaredCallbackUrl=https://<server>/geoconcept-web/twitter/callback

Administration

Après avoir éditer le fichier geoweb-credentials.properties, démarrer le service Tomcat.

Depuis le menu Administration ▸ Droits ▸ Origines choisir l’Identifiant TWITTER

  • Eventuellement renommer le Nom
  • Autoriser la création d’utilisateur
  • Motif (pas utilisé avec cette méthode)
  • Choisir le groupe par défaut dans lequel seront créés les utilisateurs. Lorsque le compte est créé il est possible de le changer de groupe en passant par le menu Administration ▸ Droits ▸ Utilisateurs

Utilisation

Pour se connecter en utilisant le SSO de Twitter, l’utilisateur devra cliquer sur Se connecter avec Twitter

Page de Login avec SSO Twitter
gcweb-reference-img/guide-reference/sso_twitter.png

puis se connecter à un compte Twitter.

Si le compte n’existe pas dans Geoconcept Web il est créé automatiquement lors de la première connexion.

Active Directory

[Avertissement] Avertissement

Pour se connecter via l’Active Directory, il est nécessaire que le serveur ou est installé Geoconcept Web puisse accéder au serveur AD de l’organisation.

Configuration

Editer le fichier geoweb-credentials.properties en ajoutant les paramètres suivants :

  • ad.activated : true ou false pour activer ou désactiver la fonction
  • ad.domain : nom du domaine
  • ad.url : url du serveur

Ainsi que la ligne suivante :

ad.searchFilter=(&(objectClass=user)(userPrincipalName={0}))

Exemple 

#Active Directory
ad.activated=true
ad.domain=domain
ad.url=ldap://domain:port/
ad.searchFilter=(&(objectClass=user)(userPrincipalName={0}))

Administration

Après avoir éditer le fichier geoweb-credentials.properties, démarrer le service Tomcat.

Depuis le menu Administration ▸ Droits ▸ Origines choisir l’Identifiant AD

  • Eventuellement changer le nom
  • Autoriser la création d’utilisateur
  • Motif (pas utilisé avec cette méthode)
  • Choisir le groupe par défaut dans lequel seront créés les utilisateurs. Lorsque le compte est créé il est possible de le changer de groupe en passant par le menu Administration ▸ Droits ▸ Utilisateurs

Utilisation

L’utilisateur se connecte à l’application en utilisant ses identifiants habituels, si le compte n’existe pas dans Geoconcept Web il est créé automatiquement lors de la première connexion.

Active Directory et domaine Windows (SSO)

[Avertissement] Avertissement

Pour se connecter cette méthode, il est nécessaire que le serveur ou est installé Geoconcept Web puisse accéder au serveur AD de l’organisation ou au domaine Windows.

Configuration

Editer le fichier geoweb-credentials.properties en ajoutant le paramètre suivant :

  • ssoad.activated : true ou false pour activer ou désactiver la fonction

Exemple 

#SSO AD
ssoad.activated=true

Exécuter le script SQL suivant en remplaçant la chaîne active.directory.name par le nom de l’Active Directory ou celui du domaine Windows à utiliser :

INSERT INTO public.gw_parameter(
        id, description, value)
        VALUES ('authentification.ssoad.domain', '', 'active.directory.name');

INSERT INTO public.gw_user_origin(
        id, origin_label, include_pattern, allow_user_creation)
        VALUES ('SSOAD', 'SSOAD', '', 'T');

INSERT INTO public.gw_user_origin_group_def(
        origin_id, group_id)
        VALUES ('SSOAD', '3');

puis démarrer le service Tomcat.

Administration

Depuis le menu Administration ▸ Droits ▸ Origines choisir l’Identifiant SSOAD

  • Eventuellement changer le nom
  • Autoriser ou non la création d’utilisateur (activé par défault)
  • Motif (pas utilisé avec cette méthode)
  • Modifier le groupe dans lequel seront créés les utilisateurs (Super administrateur par défault). Lorsque le compte est créé il est possible de le changer de groupe en passant par le menu Administration ▸ Droits ▸ Utilisateurs
[Astuce] Astuce

Le paramètre authentification.ssoad.superAdminRole (cf. section paramètres avancés), permet de définir le rôle (droit) Windows permettant d’affecter les droits Super administrateur à un utilisateur.

[Astuce] Astuce

La paramètre authentification.ssoad.overloadCreateUser (cf. section paramètres avancés), permet de créer des utilisateur alors que Geoconcept Web est vierge. Si le mode d’origine n’autorise pas la création d’utilisateur et que ce paramètre est a true alors il prendra le pas sur la configuration d’origine et les utilisateurs seront crées automatiquement.

Utilisation

L’utilisateur se connecte à Geoconcept Web sans avoir à saisir des identifiants, à condition que celui-ci soit déjà authentifié dur la machine depuis laquelle il accéde à l’application. Si le compte n’existe pas dans Geoconcept Web il est créé automatiquement lors de la première connexion.

[Avertissement] Avertissement

Avec cette méthode la fonction de déconnexion depuis Geoconcept Web n’est pas opérationnelle.

[Avertissement] Avertissement

Pour un un usage dans Firefox, il faut déclarer le site à utiliser comme étant valide pour une authentification SSO. Pour se faire il faut modifier des clés de paramétrage de firefox (via l’url about:config) en indiquant le site comme valeur des variables network.negotiate-auth.delegation-uris et network.negotiate-auth.trusted-uris. Par exemple pour accéder a http://monsite:xxx/geoconcept web il faudra utiliser la valeur http://monsite:xxx

[Avertissement] Avertissement

Une limitation actuelle du navigateur Edge entraîne, malgré la mise en place du SSO, l’ouverture d’un pop-up où l’utilisateur devra s’authentifier pour accéder à l’application Geoconcept Web.