Setup SSO with an hospital
Cette page décrit les configurations et process à mettre en oeuvre pour activer le SSO sur l'application Rofim.
Cette solution permet d’authentifier les utilisateurs de l’application Rofim auprès de la structure où ils travaillent habituellement, voire même d’éviter les pages de connexion si l’utilisateur est déjà connecté sur un des services de sa structure.
Glossaire
| Terme | Description |
|---|---|
| IdP | Fournisseur d'identité qui stocke et gère les identités numériques des utilisateurs. |
| SSO | Service d'authentification permettant d'utiliser un seul identifiant pour plusieurs applications. |
| OpenIDConnect | Protocole d'identité basé sur OAuth 2.0. |
| OTP SMS | Mot de passe à usage unique envoyé par SMS. |
| Relying Party (RP) | Fournisseur de service nécessitant une preuve d'identité. |
| OpenID Connect Provider (OP) | Serveur d’authentification OpenID. |
| Claim | Clés/valeurs normalisées contenant les informations de l’utilisateur. |
Pré-requis techniques
La solution de SSO Rofim est basée et compatible OpenIDConnect, ainsi le partenaire doit fournir des services compatibles OpenIDConnect.
L’IdP du partenaire doit etre exposé sur internet, et les pages de connexion affichées aux utilisateurs doievent etre exposées sur internet également.
Sécurité
Le partenaire devient responsable de la connexion des utilisateurs à l’application Rofim. Toutes les meilleurs pratiques et controles (audit, pentest, etc..) devront être mis en oeuvre par le partenaire pour garantir la sécurité des accés à Rofim via le SSO.
Conformément aux meilleurs pratique de sécurité, l’accés a Rofim requiert une double authentification. Celle ci peut etre faite par le partenaire ou par Rofim :
-
Le partenaire réalise déja une double authentification sur son
IdP: dans ce cas, Rofim fait confiance au partenaire et le user est directement connecté à l’application -
Le partenaire ne réalise pas de double authentification sur son
IdP: dans ce vas, Rofim réalisera une double authentification viaOTP SMSsur sonIdP.
Mise en œuvre du SSO
Principes
Rofim intervient comme une Relying Party (RP) auprès du OpenID Connect Provider (OP) du partenaire. Le schéma ci-dessous décrit les flux mis en oeuvre entre Rofim et le Partenaire :
Données de configuration à fournir par le partenaire
Pour configurer la solution de SSO, les données suivantes doivent etre echangées entre Rofim et le partenaire :
| Donnée | Valeur |
|---|---|
| URL d’autoconfiguration | URL d'autoconfiguration configuré sur l'IdP du partenaire |
ClientID | ID du client configuré sur l'IdP du partenaire |
Secret (via lien sécurisé) | Secret de sécurisation des échanges. Doit être fourni via lien sécurisé. |
| Date d’expiration du secret | Dans le cas ou les secrets expirent, la date d'expiration doit être fournie. |
| Libellé de connexion | Libellé affiché sur certains écrans : "Se connecter avec ...." |
Données de configuration à fournir par Rofim
Pour configurer le client, les informations ci-dessous sont à fournir par Rofim au partenaire :
| Redirect URI | URL de redirection après le login |
Scope
Rofim utilise les scopes suivant pour réaliser la connexion, ils doivent etre autorisé dans l’IdP
| Donnée | Requis | Valeur |
|---|---|---|
openid | Oui | Nécessaire pour l’authentification |
email | Oui | Obligatoire car l’email est requis pour la connexion. L'email sert de clé de réconciliation entre le compte utilisateur Rofim et l'IdP client |
profile | Oui | Autres données |
phone | Non | Téléphone |
Claims
L’inscription des utilisateurs peut être optimisée par la récupération de données déjà présentes sur l'IdP du partenaire. Les données utiles à Rofim sont décrites ci-dessous, le partenaire doit décrire si elles sont disponibles et dans quel claim :
| Donnée | Nom du claim | Scope | Obligatoire | Commentaire |
|---|---|---|---|---|
last_name | family_name | profile | Oui | Nom de famille |
first_name | given_name | profile | Oui | Prénom |
email | email | Oui | Obligatoire car l’email est requis pour la connexion. L'email sert de clés de reconciliation entre le compte utilisateur Rofim et l'IdP client | |
sub | sub | profile | Non | ID user coté IdPc client |
Rofim travaille à l’ajout de la gestion d’autre claim (specialité, Finess, ville d'excercice, ...) cesclaimspourront être ajoutés dans une future version de cette documentation.
URL de connexion à utiliser dans les outils du partenaire
Pour faciliter la connexion à Rofim, le partenaire peut utiliser un lien de connexion direct qui forcera l’utilisation de son IdP. L’URL sera fournie par Rofim dans les phases de mise en place du SSO. Cette URL se base sur les éléments de configuration décrit ci dessus.
Déconnexion
Si le partenaire fournit une Logout URL, Rofim propagera la déconnexion à l’IdP du partenaire. Dans ce cas c’est au partenaire de gérer si il souhaite déconnecter toutes les sessions de l’utilisateur ou seulement celle sur Rofim.
Cas d’usage
Cette section décrit le comportement de l’application Rofim sur les principaux cas d’usage :
- Inscription via
SSOpour un nouvel utilisateur - Inscription via
SSOpour un utilisateur déjà présent sur Rofim - Connexion via
SSOavec double authentification sur l’IdP - Connexion via
SSOavec double authentification sur Rofim - Déconnexion
Inscription via SSO
Inscription via SSO pour un utilisateur déjà présent sur Rofim
Dans ce cas, le rapprochement est fait via l’adresse email de l’utilisateur. Le workflow est le suivant :
Si l’utilisateur confirme le lien entre les 2 comptes, il peut alors se connecter via SSO à travers les liens contextuels ou les boutons mis à disposition sur les logiciels de son établissement, ou alors se connecter directement via le mot de passe qu'il avait précédemment saisi sur son compte.
Connexion via SSO avec double authentification sur l’IdP
Connexion via SSO avec double authentification sur Rofim
Déconnexion
Fichier de configuration
Ce fichier sera fourni par Rofim et les cellules en jaune devront être complétées.
Exemple de configuration
Cette exemple est basé sur la solution Entra de Microsoft.
Création de l’application cliente
- Se rendre dans Entra, puis :
- Application → App Registration → New registration
Renseigner alors les valeurs suivantes :
- Nom :
rofim.doctorapp ou un autre nom respectant les règles de votre établissement - Type de compte supporté : dépendant de votre architecture
Azure, dans cette exempleSingle tenantest choisi. - Redirect URI : sélectionner Web dans la zone déroulante et mettre l’URL de redirection fournie par Rofim dans cette zone.
- Puis valider les saisies.
Création du secret
Dans l’application créée, cliquer sur Add a certificate or secret
Cliquer sur New Client Secret et renseigner les valeurs suivantes :
- Description : rofim.doctor client secret
- Expires : 730 jours, ou la valeur qui correspond à votre politique de sécurité
La valeur du secret est à envoyer de manière sécurisée à Rofim.
Il est aussi nécessaire de contrôler que les permissions sur les scopes requis présentes, donc notre exemple, aller sur “API Permission” et contrôler que User.Read est présent, sinon l’ajouter
La dernière étape consiste à envoyer à Rofim les informations nécéssaire :
-
le Secret vu plus haut (à envoyer de manière sécurisée)
-
le Client ID entouré en rouge ci dessous
-
L’URL d’auto configuration
Cette configuration permet à tous les utilisateurs de se connecter a Rofim.
Gestion des accès
Cette partie montre comment limiter l’accès à Rofim à un groupe d’utilisateur.
Cette configuration se fait via l’ajout de groupe ou de user à l’application. Pour ce faire, aller sur “Applications → Enterprise Application” et rechercher l’application que nous venons de créer
Dans le menu “Properties”, passer a “Yes” l’option “Assignment Required”.
Puis dans le menu “Users and groups” vous pouvez ajouter des personnes ou des groupes (par exemple un groupe télémédecine) autorisés à accéder a Rofim.

Updated 4 months ago
