Fournisseur d'identité Keycloak
Introduction
L'authentification unique (Single Sign-On, SSO) est une technologie qui permet aux utilisateurs de s'authentifier une seule fois, puis d'accéder à plusieurs applications ou services sans avoir à s'authentifier de nouveau.
Si un portail web comprend plusieurs grandes sections indépendantes (forum, chat, blogues, etc.), l'utilisateur peut suivre la procédure d'authentification au sein de l'un des services et accéder automatiquement à tous les autres services sans saisir ses informations d'identification à plusieurs reprises.
L'authentification unique repose toujours sur le fonctionnement conjoint de deux applications: un fournisseur d'identité et un fournisseur de service (également appelés IdP et SP). ONLYOFFICE SSO met en œuvre uniquement le SP. De nombreux fournisseurs différents peuvent agir en tant qu'IdP, mais cet article examine la mise en œuvre Keycloak.
Créer un fournisseur d'identité dans Keycloak
-
Connectez-vous à Keycloak en tant qu'administrateur.
-
Accédez à Manage realms (Gérer les domaines) et sélectionnez le domaine dans lequel la connexion sera configurée.
-
Accédez à Clients et cliquez sur le bouton Create client (Créer un client).
-
Sur la page qui s'affiche, configurez ce qui suit: dans le champ Client type (Type de client), sélectionnez SAML. Dans le champ Client ID (ID du client), saisissez
https://myportal-address.com/sso/metadataen remplaçant myportal-address.com par le nom de domaine de votre espace de travail. Dans les champs Name (Nom) et Description, saisissez le nom et la description de votre choix pour le client.
-
Cliquez sur le bouton Next (Suivant).
-
Remplissez les champs suivants:
remarqueRemplacez
myportal-address.compar le nom de domaine de votre espace de travail.Application Details (Détails de l'application) Root URL (URL racine) https://myportal-address.com/ssoHome URL (URL de la page d'accueil) https://myportal-address.com/ssoValid redirect URIs (URI de redirection valides) https://myportal-address.com/sso/slo/callbackhttps://myportal-address.com/sso/acsValid post logout redirect URIs (URI de redirection valides après la déconnexion) https://myportal-address.com/sso/slo/callbackMaster SAML Processing URL (URL principale de traitement SAML) https://myportal-address.com/sso/acs
Remplissez les champs suivants sous l'onglet Advanced (Avancé):
Assertion Consumer Service POST Binding URL https://myportal-address.com/sso/acsAssertion Consumer Service Redirect Binding URL https://myportal-address.com/sso/acsLogout Service POST Binding URL https://myportal-address.com/sso/slo/callbackLogout Service Redirect Binding URL https://myportal-address.com/sso/slo/callback
-
Cliquez sur le bouton Save (Enregistrer).
-
Dans la section SAML capabilities (Fonctionnalités SAML), définissez Name ID format (Format de l'ID du nom) sur email.
-
Dans la section Signature and Encryption (Signature et chiffrement), activez l'option Sign Assertions (Signer les assertions) et sélectionnez un signature algorithm (algorithme de signature): RSA_SHA1, RSA_SHA256 ou RSA_SHA512.
-
Cliquez sur le bouton Save (Enregistrer).
-
Accédez à la section Client Scopes (Étendues des clients) et cliquez sur le lien portant le nom de votre espace de travail
https://myportal-address.com/sso/metadata-dedicated.Cliquez sur le bouton Add predefined mappers (Ajouter des mappeurs prédéfinis) et, dans la fenêtre contextuelle, sélectionnez les mappeurs suivants:
- X500 email
- X500 givenName
- X500 surname
Ensuite, cliquez sur le bouton Add (Ajouter).

Configurer le fournisseur de service ONLYOFFICE
-
Assurez-vous que vous êtes connecté à votre espace de travail ONLYOFFICE Apps en tant qu'administrateur, puis accédez au menu Paramètres, sélectionnez la section Intégration et ouvrez l'onglet Authentification unique.
-
Activez l'authentification unique à l'aide du commutateur Activer l'authentification unique et collez
https://<keycloakurl>/realms/<realm_name>/protocol/saml/descriptordans le champ URL vers le fichier XML de métadonnées du fournisseur d'identité. Remplacez<keycloakurl>et<realm_name>par l'adresse de votre serveur Keycloak et le nom du domaine dans lequel la connexion a été créée. Le lien final doit être accessible depuis un navigateur.
-
Appuyez sur le bouton représentant une flèche vers le haut pour charger les métadonnées du fournisseur d'identité. Le formulaire Paramètres du fournisseur de service ONLYOFFICE sera automatiquement rempli avec vos données issues du fournisseur d'identité Keycloak.
-
Sélectionnez le même Algorithme de vérification de signature par défaut que celui indiqué dans Keycloak.
-
Remplacez NameId Format par emailAddress.
-
Vous devez maintenant créer un certificat dans la section Certificats du fournisseur de service. Pour ce faire, cliquez sur le bouton Ajouter un certificat.
-
Dans la fenêtre modale qui s'ouvre, cliquez sur le lien Générer un nouveau certificat auto-signé, puis sélectionnez l'option signer et chiffrer dans la liste Utiliser pour. Avant d'enregistrer le certificat, copiez le texte du Certificat public dans le presse-papiers et enregistrez-le dans un fichier (il sera nécessaire pour Keycloak), puis cliquez sur le bouton OK.

-
Accédez à la section Mappage d'attributs et attribuez les valeurs suivantes aux attributs:
- First name: urn:oid:2.5.4.42
- Last name: urn:oid:2.5.4.4
- Email: urn:oid:1.2.840.113549.1.9.1
Dans la section Paramètres avancés, vous pouvez cocher l'option Masquer la page d'authentification pour masquer la page d'authentification par défaut et rediriger automatiquement vers le service d'authentification unique.
Si vous devez restaurer la page d'authentification par défaut (afin de pouvoir accéder à l'espace de travail si le serveur de votre fournisseur d'identité tombe en panne), vous pouvez ajouter la clé /login?skipssoredirect=true après le nom de domaine de votre espace de travail dans la barre d'adresse du navigateur.
-
Cliquez sur le bouton Enregistrer.
-
Revenez à Keycloak pour configurer le chiffrement, ouvrez votre client et accédez à la section Keys (Clés). Désactivez l'option Client signature required (Signature du client requise) et activez Encrypt assertions (Chiffrer les assertions). Dans la fenêtre contextuelle, sélectionnez Import (Importer), définissez Archive format (Format d'archive) sur Certificate PEM et cliquez sur le bouton Browse (Parcourir). Indiquez le chemin d'accès au fichier de certificat de l'étape 7 et cliquez sur Confirm (Confirmer).
Vérifier le fonctionnement du fournisseur de service ONLYOFFICE avec le fournisseur d'identité Keycloak
-
Accédez à la page d'authentification ONLYOFFICE Apps (par ex.
https://myportal-address.com/login). -
Cliquez sur le bouton Authentification unique. Si le bouton est absent, cela signifie que l'authentification unique n'est pas activée.
-
Si tous les paramètres du fournisseur de service et du fournisseur d'identité sont correctement configurés, vous serez redirigé vers le formulaire de connexion du fournisseur d'identité Keycloak:

-
Saisissez l'identifiant et le mot de passe de l'utilisateur Keycloak et cliquez sur le bouton Sign In (Se connecter).
-
Si les informations d'identification sont correctes, vous serez redirigé vers la page principale de l'espace de travail (l'utilisateur sera créé automatiquement s'il n'existe pas, ou ses données seront mises à jour si elles ont été modifiées dans le fournisseur d'identité).
