Notion
Ce guide vous explique comment configurer l'authentification unique (SSO) entre SmartLink et Notion en utilisant SAML 2.0.
Prérequis
- Plan Notion Enterprise
- Accès administrateur à Notion
- Domaine email vérifié dans Notion
- Application configurée dans SmartLink avec SAML2
Note : Le SSO SAML est disponible uniquement avec le plan Enterprise de Notion.
Configuration dans SmartLink
1. Créer l'application
- Connectez-vous à SmartLink en tant qu'administrateur
- Allez dans Applications → Ajouter
- Créez une nouvelle application :
- Nom : Notion
- URL :
https://notion.so - Description : Espace de travail tout-en-un pour notes et collaboration
- Icône : Choisissez l'icône Notion
2. Configurer SAML2
- Dans l'onglet Authentification
- Sélectionnez SAML2
- Configurez les paramètres suivants :
- Entity ID :
https://[votre-smartlink].link.vaultys.org/[appid] - ACS URL :
https://www.notion.so/sso/saml - Format NameID :
emailAddress - App ID :
[appid](identifiant unique généré automatiquement)
- Entity ID :
3. Récupérer les métadonnées
Notez les URLs suivantes :
- Métadonnées IdP :
https://[votre-smartlink].link.vaultys.org/api/saml2/[appid]/metadata - SSO URL :
https://[votre-smartlink].link.vaultys.org/api/saml2/sso/[appid] - SLO URL :
https://[votre-smartlink].link.vaultys.org/api/saml2/slo/[appid] - Entity ID :
https://[votre-smartlink].link.vaultys.org/[appid] - Certificat X.509 : Téléchargez depuis SmartLink
Configuration dans Notion
1. Accéder aux paramètres SSO
- Connectez-vous à Notion en tant qu'administrateur
- Allez dans Settings & Members
- Cliquez sur Security & identity
- Dans la section SSO, cliquez sur Configure SAML
2. Configuration SAML
Remplissez les champs suivants :
Identity Provider Configuration
- Identity provider SSO URL :
https://[votre-smartlink].link.vaultys.org/api/saml2/sso/[appid] - Identity provider issuer :
[appid] - Public certificate : Collez le certificat X.509 depuis SmartLink
Service Provider Configuration
- Entity ID :
notion.so(généré par Notion) - ACS URL :
https://www.notion.so/sso/saml(généré par Notion)
3. Configuration des attributs
Configurez le mapping des attributs SAML :
| Attribut Notion | Attribut SAML | Obligatoire |
|---|---|---|
email | ✅ | |
| First Name | firstName | ✅ |
| Last Name | lastName | ✅ |
| Display Name | displayName | ❌ |
4. Configuration avancée
Provisioning automatique
- Auto-provisioning : Activé
- Update user info on login : Activé
- Remove users on SCIM deprovision : Selon votre politique
Domaines autorisés
- Ajoutez vos domaines d'entreprise
- Vérifiez-les via DNS (enregistrement TXT)
- Activez Enforce SSO pour ces domaines
Configuration des espaces de travail
Organisation des workspaces
workspaces:
- name: "Engineering"
default_access: "member"
groups:
- "smartlink-engineering"
- "smartlink-developers"
- name: "Marketing"
default_access: "guest"
groups:
- "smartlink-marketing"
- name: "HR"
default_access: "no_access"
groups:
- "smartlink-hr"
- "smartlink-management"
Permissions par défaut
Configure dans Notion :
- Settings & Members → Workspace settings
- Default permissions :
- Members can invite : ❌
- Members can create groups : ❌
- Members can export : ✅
- Members can use API : ✅
Gestion des groupes et permissions
Configuration SCIM (optionnel)
Pour une synchronisation automatique des groupes :
{
"scim_endpoint": "https://www.notion.so/scim/v2",
"scim_token": "bearer_token_xxxxxx",
"group_mappings": {
"smartlink-admins": "workspace_admin",
"smartlink-editors": "content_editor",
"smartlink-viewers": "content_viewer"
}
}
Rôles disponibles
| Rôle | Permissions |
|---|---|
| Workspace Owner | Accès complet, gestion de la facturation |
| Admin | Gestion des membres et paramètres |
| Member | Création et édition de contenu |
| Guest | Accès limité à des pages spécifiques |
Test de la configuration
1. Test de connexion
- Ouvrez une fenêtre de navigation privée
- Allez sur notion.so/login
- Cliquez sur Continue with SAML SSO
- Entrez votre email d'entreprise
- Vous êtes redirigé vers SmartLink
- Après authentification, vous accédez à Notion
2. Test sur applications
- Desktop : L'application desktop supporte le SSO via navigateur
- Mobile : iOS et Android supportent le SSO
- Web Clipper : Extension navigateur compatible SSO
3. Vérification API
// Test de l'API Notion avec authentification
const { Client } = require('@notionhq/client');
const notion = new Client({
auth: process.env.NOTION_TOKEN,
});
async function testConnection() {
const response = await notion.users.me();
console.log(response);
}
Intégration avec l'API Notion
Configuration des intégrations
- Settings & Members → My connections
- Develop or manage integrations
- Créez une nouvelle intégration :
{
"name": "SmartLink Integration",
"capabilities": {
"read_content": true,
"update_content": true,
"insert_content": true
},
"oauth_redirect_uri": "https://[votre-smartlink].link.vaultys.org/callback"
}
Webhooks pour synchronisation
// Webhook pour synchroniser les modifications
app.post('/webhook/notion', async (req, res) => {
const { type, data } = req.body;
switch(type) {
case 'page.created':
await syncNewPage(data);
break;
case 'database.updated':
await syncDatabase(data);
break;
}
res.status(200).send('OK');
});
Dépannage
Erreur "SAML configuration is invalid"
Problème : Configuration SAML incorrecte
Solution :
- Vérifiez que l'Entity ID est bien
[appid] - Vérifiez le format du certificat X.509 (sans espaces ni retours à la ligne supplémentaires)
- Assurez-vous que l'ACS URL est :
https://www.notion.so/sso/saml
Erreur "User email domain not authorized"
Problème : Le domaine email n'est pas vérifié
Solution :
- Dans Notion → Security & identity → Domain management
- Ajoutez et vérifiez votre domaine
- Ajoutez l'enregistrement TXT DNS fourni par Notion
Les utilisateurs ne sont pas créés automatiquement
Problème : Auto-provisioning ne fonctionne pas
Solution :
- Vérifiez que Auto-provisioning est activé
- Assurez-vous que les attributs SAML obligatoires sont présents :
emailfirstNamelastName
- Vérifiez les logs SAML dans Notion
Problème de synchronisation des groupes
Problème : Les groupes ne sont pas mappés correctement
Solution :
<!-- Assertion SAML correcte pour les groupes -->
<saml:Attribute Name="groups">
<saml:AttributeValue>smartlink-notion-admins</saml:AttributeValue>
<saml:AttributeValue>smartlink-notion-users</saml:AttributeValue>
</saml:Attribute>
Sécurité
Bonnes pratiques
- Enforce SSO : Activez l'obligation du SSO pour tous les utilisateurs
- Session timeout : Configurez une durée de session appropriée (8h recommandé)
- 2FA backup : Gardez un compte admin avec 2FA comme backup
- Audit logs : Vérifiez régulièrement les logs dans Settings → Audit log
- API tokens : Gérez séparément les tokens API des intégrations
Configuration de sécurité avancée
{
"security_settings": {
"enforce_sso": true,
"session_duration": "8h",
"allow_public_sharing": false,
"disable_guests": false,
"disable_export": false,
"watermark_exports": true,
"audit_log_retention": "365d"
}
}
Conformité et confidentialité
- GDPR : Notion est conforme GDPR
- SOC 2 : Certification disponible
- Chiffrement : AES 256 au repos, TLS 1.2+ en transit
- Localisation des données : Choisissez votre région (US/EU)
Migration des utilisateurs existants
Script de migration
import requests
import csv
def migrate_notion_users(csv_file):
"""Migrer les utilisateurs vers SSO"""
with open(csv_file, 'r') as file:
reader = csv.DictReader(file)
for row in reader:
user_email = row['email']
# Envoyer invitation SSO
send_sso_invitation(user_email)
# Désactiver l'ancien accès
disable_password_login(user_email)
print(f"Migrated: {user_email}")
def send_sso_invitation(email):
# Logique pour envoyer l'invitation
pass
Communication aux utilisateurs
Template d'email pour la migration :
Objet : Migration vers l'authentification unique (SSO) pour Notion
Bonjour,
À partir du [DATE], nous migrons vers l'authentification unique pour Notion.
Actions requises :
1. Utilisez votre email professionnel pour vous connecter
2. Vous serez redirigé vers SmartLink
3. Utilisez vos identifiants SmartLink habituels
Avantages :
- Un seul mot de passe à retenir
- Sécurité renforcée
- Accès simplifié
Support : support@entreprise.com