Monday.com
Ce guide vous explique comment configurer l'authentification unique (SSO) entre SmartLink et Monday.com en utilisant SAML 2.0 ou OpenID Connect.
Prérequis
- Plan Monday.com Enterprise
- Accès administrateur à Monday.com
- Domaine email vérifié
- Application configurée dans SmartLink avec SAML2 ou OpenID Connect
Note : Le SSO est disponible uniquement avec le plan Enterprise de Monday.com.
Configuration avec SAML 2.0 (Recommandé)
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 : Monday.com
- URL :
https://[votre-compte].monday.com - Description : Plateforme de gestion du travail
- Icône : Choisissez l'icône Monday.com
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://[votre-compte].monday.com/saml2/acs - 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 Monday.com
1. Accéder aux paramètres SSO
- Connectez-vous à Monday.com en tant qu'administrateur
- Cliquez sur votre avatar → Administration
- Dans le menu : Security → Single Sign-On
- Cliquez sur Set up SSO
2. Configuration SAML
Sélectionnez SAML et configurez :
- SSO URL :
https://[votre-smartlink].link.vaultys.org/api/saml2/sso/[appid] - Entity ID :
https://[votre-smartlink].link.vaultys.org/[appid] - Certificate : Collez le certificat X.509 depuis SmartLink
- Sign Out URL :
https://[votre-smartlink].link.vaultys.org/api/saml2/slo/[appid]
3. Configuration des attributs
| Attribut Monday | Attribut SAML | Obligatoire |
|---|---|---|
email | ✅ | |
| First Name | firstName | ✅ |
| Last Name | lastName | ✅ |
| Title | title | ❌ |
| Team | department | ❌ |
Configuration avec OpenID Connect
Configuration dans SmartLink
1. Configurer OpenID Connect
- Dans l'application Monday.com
- Onglet Authentification → OpenID Connect
- Notez :
- Client ID :
monday-xxxxxx - Client Secret :
secret-xxxxxx - App ID :
[appid]
- Client ID :
2. URLs de redirection
Ajoutez :
https://[votre-compte].monday.com/auth/oidc/callback
Configuration dans Monday.com
- Dans Security → Single Sign-On
- Sélectionnez OpenID Connect
- Configurez :
- Discovery URL :
https://[votre-smartlink].link.vaultys.org/api/oidc/[appid]/.well-known/openid-configuration - Client ID :
monday-xxxxxx - Client Secret :
secret-xxxxxx - Scopes :
openid profile email groups
Configuration des espaces de travail
Structure organisationnelle
workspaces:
- name: "Marketing"
default_role: "member"
groups:
- "smartlink-marketing"
boards:
- "Campaigns"
- "Content Calendar"
- "Social Media"
- name: "Development"
default_role: "member"
groups:
- "smartlink-developers"
boards:
- "Sprint Planning"
- "Bug Tracking"
- "Feature Requests"
- name: "Management"
default_role: "viewer"
groups:
- "smartlink-executives"
boards:
- "Company OKRs"
- "Financial Reports"
Permissions et rôles
| Rôle | Permissions |
|---|---|
| Owner | Contrôle total du compte |
| Admin | Gestion des utilisateurs et paramètres |
| Member | Création et édition de contenu |
| Viewer | Lecture seule |
| Guest | Accès limité à certains boards |
Configuration SCIM
Pour la synchronisation automatique des utilisateurs :
{
"scim_endpoint": "https://[votre-compte].monday.com/scim/v2",
"scim_token": "Bearer xxxxxx",
"provisioning": {
"create_users": true,
"update_users": true,
"deactivate_users": true,
"sync_groups": true
}
}
Automatisations avec SSO
Création automatique de boards
// Automation pour créer des boards selon les groupes
const mondaySDK = require('monday-sdk-js');
const monday = mondaySDK();
async function createBoardForGroup(groupName, userEmail) {
const boardTemplate = {
'smartlink-sales': 'sales-pipeline-template',
'smartlink-marketing': 'marketing-campaign-template',
'smartlink-dev': 'sprint-board-template'
};
if (boardTemplate[groupName]) {
const board = await monday.api(`
mutation {
duplicate_board(
board_id: ${boardTemplate[groupName]},
board_name: "${groupName} Workspace",
owner_ids: [${userEmail}]
) {
id
}
}
`);
return board;
}
}
Workflows basés sur l'authentification
automation:
- trigger: "user_login_sso"
conditions:
- first_login: true
- group: "smartlink-new-employees"
actions:
- create_board: "onboarding_template"
- assign_to_team: "hr_team"
- send_notification: "welcome_message"
- add_to_board: "company_announcements"
Intégration avec l'API Monday.com
Configuration API avec SSO
const fetch = require('node-fetch');
class MondayAPIClient {
constructor(apiKey) {
this.apiKey = apiKey;
this.apiUrl = 'https://api.monday.com/v2';
}
async getUserBySSOEmail(email) {
const query = `
query {
users(emails: ["${email}"]) {
id
name
email
teams {
id
name
}
}
}
`;
const response = await fetch(this.apiUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': this.apiKey
},
body: JSON.stringify({ query })
});
return response.json();
}
}
Webhooks pour synchronisation
// Webhook pour synchroniser les changements SSO
app.post('/webhook/monday-sso', async (req, res) => {
const { event, userId, userEmail, groups } = req.body;
switch(event) {
case 'user.created':
await createUserWorkspace(userId, userEmail);
break;
case 'user.updated':
await updateUserPermissions(userId, groups);
break;
case 'user.deactivated':
await archiveUserContent(userId);
break;
}
res.status(200).send('OK');
});