Skip to main content

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.

1. Créer l'application

  1. Connectez-vous à SmartLink en tant qu'administrateur
  2. Allez dans ApplicationsAjouter
  3. 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

  1. Dans l'onglet Authentification
  2. Sélectionnez SAML2
  3. 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)

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

  1. Connectez-vous à Notion en tant qu'administrateur
  2. Allez dans Settings & Members
  3. Cliquez sur Security & identity
  4. 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 NotionAttribut SAMLObligatoire
Emailemail
First NamefirstName
Last NamelastName
Display NamedisplayName

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

  1. Ajoutez vos domaines d'entreprise
  2. Vérifiez-les via DNS (enregistrement TXT)
  3. 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 :

  1. Settings & MembersWorkspace settings
  2. 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ôlePermissions
Workspace OwnerAccès complet, gestion de la facturation
AdminGestion des membres et paramètres
MemberCréation et édition de contenu
GuestAccès limité à des pages spécifiques

Test de la configuration

1. Test de connexion

  1. Ouvrez une fenêtre de navigation privée
  2. Allez sur notion.so/login
  3. Cliquez sur Continue with SAML SSO
  4. Entrez votre email d'entreprise
  5. Vous êtes redirigé vers SmartLink
  6. 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

  1. Settings & MembersMy connections
  2. Develop or manage integrations
  3. 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 :

  1. Vérifiez que l'Entity ID est bien [appid]
  2. Vérifiez le format du certificat X.509 (sans espaces ni retours à la ligne supplémentaires)
  3. 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 :

  1. Dans Notion → Security & identityDomain management
  2. Ajoutez et vérifiez votre domaine
  3. Ajoutez l'enregistrement TXT DNS fourni par Notion

Les utilisateurs ne sont pas créés automatiquement

Problème : Auto-provisioning ne fonctionne pas

Solution :

  1. Vérifiez que Auto-provisioning est activé
  2. Assurez-vous que les attributs SAML obligatoires sont présents :
    • email
    • firstName
    • lastName
  3. 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

  1. Enforce SSO : Activez l'obligation du SSO pour tous les utilisateurs
  2. Session timeout : Configurez une durée de session appropriée (8h recommandé)
  3. 2FA backup : Gardez un compte admin avec 2FA comme backup
  4. Audit logs : Vérifiez régulièrement les logs dans SettingsAudit log
  5. 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

Ressources