Intégration · Provisioning
SCIM v2 - zéro création manuelle
Vos utilisateurs Entra / Okta / Google / Keycloak sont créés, synchronisés et désactivés automatiquement dans Humanix dès qu'ils changent de statut dans votre annuaire. Standard ouvert, RFC 7643/7644.
Endpoint à configurer
https://humanix-academie.fr/scim/v2/Authentification : OAuth Bearer Token. Utilisez une clé API tenant générée depuis votre console admin Humanix.
Configuration par fournisseur
Microsoft Entra ID (ex Azure AD)
- Centre d'administration Entra → Applications d'entreprise → Nouvelle application → Application non-galerie → nommez-la "Humanix Académie".
- Onglet Provisionnement → Mise en route → Mode = Automatique.
- Informations d'identification de l'administrateur :
- URL du locataire :
https://humanix-academie.fr/scim/v2 - Jeton secret :
hxa_VOTRE_CLE_API
- URL du locataire :
- Tester la connexion → doit retourner « Connexion réussie ».
- Onglet Mappings → activez « Provisionner les utilisateurs Microsoft Entra ID ».
- Affectez les utilisateurs à provisionner, puis activez le provisionnement.
Okta
- Admin Okta → Applications → Browse App Catalog → recherchez "SCIM 2.0 Test App (Header Auth)" comme template, ou créez une app SAML avec extension SCIM.
- Onglet Provisioning → Configure API Integration → cochez Enable API Integration.
- Base URL :
https://humanix-academie.fr/scim/v2 - API Token :
hxa_VOTRE_CLE_API
- Base URL :
- Test API Credentials → vert.
- Onglet To App → activez Create / Update / Deactivate Users.
Google Workspace
Google Workspace ne propose pas de SCIM out-of-the-box, mais vous pouvez utiliser Google Cloud Identity Premium (provisioning natif via SAML) ou un connecteur tiers comme Rippling, Lucca ou Workato. Notre SCIM v2 standard est compatible. Documentation : Google Cloud Identity SCIM ↗
Keycloak (open-source)
Keycloak ne propose pas de SCIM client natif. Utilisez un middleware open-source comme scim-for-keycloak ↗ ou un déclencheur custom sur les events Keycloak.
Mapping des attributs
| Attribut SCIM | Champ Humanix | Notes |
|---|---|---|
| userName | Identifiant principal, unique par tenant | |
| emails[primary=true].value | Si différent de userName, c'est cette valeur qui prime | |
| displayName | name | Sinon name.formatted ou givenName + familyName |
| active | isActive | false = soft-delete (historique conservé) |
| urn:humanix:scim:schemas:extension:User:1.0:role | role | LEARNER (defaut) | MANAGER | ADMIN | SUPERADMIN |
| urn:humanix:scim:schemas:extension:User:1.0:service | service | Libre (Compta, Direction, IT…) - mappe sur Group SCIM |
| meta.created / meta.lastModified | createdAt / updatedAt | Lecture seule |
Endpoints disponibles
- GET
/scim/v2/ServiceProviderConfig - GET
/scim/v2/ResourceTypes - GET
/scim/v2/Users(filter, startIndex, count) - POST
/scim/v2/Users - GET
/scim/v2/Users/{id} - PUT
/scim/v2/Users/{id} - PATCH
/scim/v2/Users/{id} - DELETE
/scim/v2/Users/{id}(soft-delete par defaut, ?hard=true pour RGPD) - GET
/scim/v2/Groups(mappés sur User.service)
Prêt à automatiser ?
Compatible avec tous les IdP qui parlent SCIM v2 standard. RFC 7643 (schema) + RFC 7644 (protocol).