- SSO Google
- SSO Azure AD
- SSO Okta
- Azure SCIM (norme de gestion des identités et des groupes)
- Okta SCIM (norme de gestion des identités et des groupes)
- API SCIM (norme de gestion des identités et des groupes)
- Duo
- PingID
Windsurf prend désormais en charge la connexion via Single Sign-On (SSO) avec SAML. Si votre organisation utilise Microsoft Entra, Okta, Google Workspace ou un autre fournisseur d’identité compatible SAML, vous pourrez utiliser le SSO avec Windsurf.
Cliquez sur Add app, puis sur Add custom SAML app.
Renseignez App name avec 
Sur la page des paramètres de Codeium, cliquez sur Enable Login with SAML, puis sur Save. Veillez à cliquer sur Test Login pour vérifier que la connexion fonctionne comme prévu. La connexion SSO sera désormais imposée à tous les utilisateurs.
Windsurf prend uniquement en charge le SSO initié par le SP ; le SSO initié par l’IdP n’est PAS pris en charge pour le moment.
Configurer l’application IdP
Dans la console d’administration Google (admin.google.com), cliquez sur Apps -> Web and mobile apps dans le menu de gauche.

Windsurf, puis cliquez sur Next.L’écran suivant (Google Identity Provider details) dans la console Google contient des informations à copier dans les paramètres SSO de Windsurf sur https://windsurf.com/team/settings.- Copiez SSO URL depuis la console Google vers les paramètres de Windsurf sous SSO URL
- Copiez Entity ID depuis la console Google vers les paramètres de Windsurf sous IdP Entity ID
- Copiez Certificate depuis la console Google vers les paramètres de Windsurf sous X509 Certificate
- Cliquez sur Continue dans la console Google
- Copiez Callback URL depuis la page des paramètres de Codeium vers la console Google sous ACS URL
- Copiez SP Entity ID depuis la page des paramètres de Codeium vers la console Google sous SP Entity ID
- Modifiez le format de Name ID en EMAIL
- Cliquez sur Continue dans la console Google
- Cliquez sur Add Mapping, sélectionnez First name et définissez App attributes sur firstName
- Cliquez sur Add Mapping, sélectionnez Last name et définissez App attributes sur lastName
- Cliquez sur Finish

Windsurf Enterprise prend désormais en charge la connexion via Single Sign-On (SSO) avec SAML. Si votre organisation utilise Microsoft Entra ID (anciennement Azure AD), vous pourrez utiliser le SSO avec Windsurf.


Windsurf prend uniquement en charge le SSO initié par le SP ; le SSO initié par l’IDP n’est PAS pris en charge pour le moment.
Partie 1 : Créer une application Enterprise dans Microsoft Entra ID
Toutes les étapes de cette section sont effectuées dans le centre d’administration Microsoft Entra ID.
- Dans Microsoft Entra ID, cliquez sur Add, puis sur Enterprise Application.

- Cliquez sur Create your own application.

- Nommez votre application Windsurf, sélectionnez Integrate any other application you don’t find in the gallery, puis cliquez sur Create.

Partie 2 : Configurer SAML et les attributs utilisateur dans Microsoft Entra ID
Toutes les étapes de cette section sont effectuées dans le centre d’administration Microsoft Entra ID.
- Dans votre nouvelle application Windsurf, cliquez sur Set up single sign on, puis sur SAML.
- Cliquez sur Edit sous Basic SAML Configuration.
- Laissez cet onglet Entra ID ouvert et ouvrez un nouvel onglet pour accéder aux paramètres SSO Windsurf Teams à l’adresse https://windsurf.com/team/settings.
-
Dans le formulaire de configuration SAML de Microsoft Entra ID :
- Identifier (Entity ID) : copiez la valeur SP Entity ID depuis la page des paramètres SSO Windsurf
- Reply URL (Assertion Consumer Service URL) : copiez la valeur Callback URL depuis la page des paramètres SSO Windsurf
- Cliquez sur Save en haut
- Configurez les attributs utilisateur pour un affichage correct du nom. Dans Microsoft Entra ID, sous Attributes & Claims, cliquez sur Edit.
-
Créez 2 nouvelles revendications en cliquant sur Add new claim pour chacune :
- Première revendication : Name =
firstName, Source attribute =user.givenname - Deuxième revendication : Name =
lastName, Source attribute =user.surname
- Première revendication : Name =
Partie 3 : Configurer les paramètres SSO dans le portail Windsurf
Terminez la configuration dans le portail Windsurf (https://windsurf.com/team/settings).
-
Sur la page des paramètres SSO Windsurf :
- Pick your SSO ID : choisissez un identifiant unique pour le portail de connexion de votre équipe (ce choix ne pourra pas être modifié par la suite)
- IdP Entity ID : copiez la valeur depuis Microsoft Entra ID sous Set up Windsurf → Microsoft Entra Identifier
- SSO URL : copiez la Login URL depuis Microsoft Entra ID
- X509 Certificate : téléchargez le SAML certificate (Base64) depuis Microsoft Entra ID, ouvrez le fichier et collez ici le contenu texte
- Dans le portail Windsurf, cliquez sur Enable Login with SAML, puis sur Save.
- Testez la configuration : cliquez sur Test Login pour vérifier que la configuration SSO fonctionne comme prévu.
Important : Ne vous déconnectez pas et ne fermez pas la page des paramètres Windsurf tant que vous n’avez pas réussi le test de connexion. Si le test échoue, vous devrez peut-être dépanner votre configuration avant de continuer.
Windsurf Enterprise prend désormais en charge la connexion via Single Sign-On (SSO) avec SAML. Si votre organisation utilise Microsoft Entra, Okta, Google Workspaces ou un autre fournisseur d’identité compatible SAML, vous pourrez utiliser le SSO avec Windsurf.
Sélectionnez SAML 2.0 comme méthode de connexion
Définissez le nom de l’application sur Windsurf (ou tout autre nom), puis cliquez sur NextConfigurez les paramètres SAML comme suit
Dans la section de feedback, sélectionnez « This is an internal app that we have created », puis cliquez sur Finish.
À ce stade, tout devrait être configuré et vous pouvez maintenant ajouter des utilisateurs à la nouvelle application Okta Windsurf.Vous devriez partager l’URL personnalisée du portail de connexion de votre organisation avec vos utilisateurs et leur demander de se connecter via ce lien.
Les utilisateurs qui se connectent à Windsurf via SSO seront automatiquement approuvés dans l’équipe.
Cela indique un ID SSO invalide ou une URL SSO incorrecte ; assurez-vous qu’elle est alphanumérique et qu’elle ne contient pas d’espaces supplémentaires ni de caractères non valides. Veuillez revoir les étapes du guide et vous assurer d’utiliser les valeurs correctes.
Cela indique que votre IdP Entity ID est invalide ; veuillez vous assurer de le copier correctement depuis le portail Okta, sans caractères supplémentaires ni espaces avant ou après la chaîne.
Windsurf prend uniquement en charge le SSO initié par le SP ; le SSO initié par l’IdP n’est PAS pris en charge pour le moment.
Configurer l’application IdP
Cliquez sur Applications dans la barre latérale gauche, puis sur Create App Integration

- Single sign-on URL sur https://auth.windsurf.com/__/auth/handler
- Audience URI (SP Entity ID) sur www.codeium.com
- NameID format sur EmailAddress
- Application username sur Email

Enregistrer Okta comme fournisseur SAML
Vous devriez être redirigé vers l’onglet Sign on de votre application SAML personnalisée. Vous devrez maintenant prendre les informations de cette page et les renseigner dans les paramètres SSO de Windsurf.- Ouvrez https://windsurf.com/team/settings, puis cliquez sur Configure SAML
- Copiez le texte après ‘Issuer’ sur la page de l’application Okta et collez-le sous Idp Entity ID
- Copiez le texte après ‘Sign on URL’ sur la page de l’application Okta et collez-le sous SSO URL
- Téléchargez le Signing Certificate et collez-le sous X509 certificate
- Cochez Enable Login with SAML puis cliquez sur Save
- Testez la connexion avec le bouton Test Login. Vous devriez voir un message de réussite :


Mises en garde
Notez que Windsurf ne prend actuellement pas en charge les flux de connexion initiés par l’IdP.Nous ne prenons pas encore en charge OIDC.Dépannage
Login with SAML config failed: Firebase: Error (auth/operation-not-allowed)

Login with SAML config failed: Firebase: SAML Response <Issuer> mismatch. (auth/invalid-credential)

Failed to verify the signature in samlresponse
Cela indique une valeur incorrecte de votre X509 certificate ; veuillez vous assurer de copier la clé correcte et qu’elle est formatée comme :Copier
Demander à l'IA
-----BEGIN CERTIFICATE-----
valeur
------END CERTIFICATE------
Windsurf prend en charge la synchronisation SCIM (norme de gestion des identités et des groupes) pour les utilisateurs et les groupes avec Microsoft Entra ID / Azure AD. Il n’est pas nécessaire de configurer le SSO pour utiliser la synchronisation SCIM, mais c’est fortement recommandé.Vous aurez besoin de :

Sur la page de configuration du provisioning, sélectionnez les options suivantes.Provisioning Mode : AutomaticAdmin Credentials > Tenant URL : https://server.codeium.com/scim/v2Laissez la page de provisioning Azure ouverte, puis rendez-vous sur le portail web Windsurf et cliquez sur l’icône de profil dans la barre de navigation en haut de la page. Sous Team Settings, sélectionnez Service Key et cliquez sur Add Service Key. Saisissez n’importe quel nom de clé (par exemple « Azure Provisioning Key ») et cliquez sur Create Service Key. Copiez la clé générée, retournez sur la page Azure et collez-la dans Secret Token.
(Ce que vous devriez voir après avoir créé la clé sur Windsurf)Sur la page Provisioning, cliquez sur Test Connection ; cela devrait vérifier la connexion SCIM.Ensuite, au-dessus du formulaire Provisioning, cliquez sur Save.
Sous Attribute Mappings, supprimez tous les champs sous displayName en ne laissant que les champs userName, active et displayName.
Pour active, cliquez maintenant sur Edit. Sous Expression, modifiez le champ pourPuis cliquez sur OK.Vos attributs utilisateur devraient ressembler à ceci :
Sur la page Attribute Mapping, cliquez sur Save en haut, puis revenez à la page Provisioning.Sur cette même page, sous Mappings, cliquez sur Provision Microsoft Entra ID Groups. Supprimez uniquement externalId (delete), puis cliquez sur Save en haut. Revenez à la page Provisioning.
Sur la page Provisioning, tout en bas, vous devriez également voir un interrupteur Provisioning Status. Réglez-le sur On pour activer la synchronisation SCIM (norme de gestion des identités et des groupes). Désormais, toutes les 40 minutes, vos utilisateurs et groupes de l’application Entra ID seront synchronisés avec Windsurf.
Cliquez sur Save pour terminer : vous avez maintenant activé la synchronisation des utilisateurs et des groupes via SCIM. Seuls les utilisateurs et groupes affectés à l’application seront synchronisés avec Windsurf. Notez que la suppression d’utilisateurs se contente de leur désactiver l’accès à Windsurf (et évite qu’ils occupent une place), au lieu de les supprimer, en raison de la conception SCIM d’Azure.
- Accès administrateur à Microsoft Entra ID / Azure AD
- Accès administrateur à Windsurf
- Une application Windsurf existante sur Entra ID (généralement issue de votre application SSO existante)
Étape 1 : Accéder à l’application Windsurf existante
Allez dans Microsoft Entra ID sur Azure, cliquez sur Enterprise applications dans la barre latérale gauche, puis cliquez sur l’application Windsurf existante dans la liste.
Étape 2 : Configurer le provisioning SCIM
Cliquez sur Get started sous Provision User Accounts au centre (étape 3), puis cliquez de nouveau sur Get started.

Étape 3 : Configurer le provisioning SCIM
Après avoir cliqué sur Save, une nouvelle option Mappings devrait apparaître sur la page Provisioning. Développez Mappings, puis cliquez sur Provision Microsoft Entra ID Users.

Copier
Demander à l'IA
NOT([IsSoftDeleted])



Windsurf prend en charge la synchronisation SCIM pour les utilisateurs et les groupes avec Okta. Il n’est pas nécessaire de configurer le SSO pour utiliser la synchronisation SCIM, mais c’est fortement recommandé.Vous aurez besoin de :
- Accès administrateur à Okta
- Accès administrateur à Windsurf
- Une application Windsurf existante sur Okta (généralement issue de votre application SSO existante)
Étape 1 : Accéder à l’application Windsurf existante
Accédez à Okta, cliquez sur Applications, Applications dans la barre latérale gauche, puis cliquez sur l’application Windsurf existante dans la liste des applications.Étape 2 : Activer le provisionnement SCIM
Sous l’onglet General, App Settings, cliquez sur Edit en haut à droite. Cochez ensuite la case ‘Enable SCIM Provisioning’, puis cliquez sur Save. Un nouvel onglet Provisioning devrait être apparu en haut.Allez maintenant dans Provisioning, cliquez sur Edit et renseignez les champs suivants :SCIM connector base URL: https://server.codeium.com/scim/v2Unique identifier field for users: emailSupported provisioning actions: Push New Users, Push Profile Updates, Push GroupsAuthentication Mode: HTTP HeaderPour HTTP Header - Authorization, vous pouvez générer le jeton depuis- https://windsurf.com/team/settings puis allez dans Other Settings et trouvez Service Key Configuration
- Cliquez sur Add Service Key et donnez un nom à votre clé
- Copiez la clé API, retournez sur Okta et collez-la dans HTTP Header - Authorization
Étape 3 : Configurer le provisionnement
Sous l’onglet Provisioning, à gauche, deux nouveaux onglets devraient apparaître. Cliquez sur To App, puis Edit Provisioning to App. Cochez les cases Create Users, Update User Attributes et Deactivate Users, puis cliquez sur Save.Après cette étape, tous les utilisateurs affectés au groupe seront désormais synchronisés avec Windsurf.Étape 4 : Configurer le provisionnement des groupes (facultatif)
Pour synchroniser des groupes vers Windsurf, vous devez spécifier quels groupes pousser. Dans l’application, cliquez sur l’onglet Push Groups en haut. Cliquez maintenant sur + Push Groups -> Find Groups by name. Filtrez le groupe que vous souhaitez ajouter, assurez-vous que Push group memberships immediately est coché, puis cliquez sur Save. Le groupe sera créé et les membres du groupe seront synchronisés avec Windsurf. Les groupes peuvent ensuite être utilisés pour filtrer les données de groupe sur la page Analytics.Ce guide explique comment créer et gérer des groupes dans Windsurf avec l’API SCIM (norme de gestion des identités et des groupes).Il existe des raisons pour lesquelles on peut vouloir provisionner les groupes manuellement plutôt qu’avec son fournisseur d’identité (Azure/Okta). Les entreprises peuvent souhaiter que les groupes soient provisionnés à partir d’une source interne différente (site web RH, outil de gestion de code source, etc.) à laquelle Windsurf n’a pas accès, ou les entreprises peuvent souhaiter un contrôle plus fin des groupes que ce que leur fournisseur d’identité propose. Les groupes peuvent donc être créés via une API par requête HTTP. Les exemples suivants illustrent la requête HTTP via CURL.Il y a 5 API principales ici : Créer un groupe, Ajouter des membres au groupe, Remplacer les membres du groupe, Supprimer un groupe et Lister les utilisateurs dans un groupe.Vous devrez d’abord créer le groupe, puis le remplacer pour créer un groupe contenant des membres. Vous devrez également encoder les noms de groupe dans l’URL si votre nom de groupe contient un caractère spécial comme un espace, ainsi un nom de groupe tel que « Engineering Group » devra être « Engineering%20Group » dans l’URL.Notez que les utilisateurs doivent être créés dans Windsurf (via SCIM (norme de gestion des identités et des groupes) ou par création manuelle du compte) avant de pouvoir être ajoutés à un groupe.Créer un utilisateur :Modifier le nom :
Créer un groupe
Copier
Demander à l'IA
curl -k -X POST https://server.codeium.com/scim/v2/Groups -d '{
"displayName": "<nom du groupe>",
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"]
}' -H "Authorization: Bearer <clé secrète API>" -H "Content-Type: application/scim+json"
Ajouter des membres au groupe
Copier
Demander à l'IA
curl -X PATCH https://server.codeium.com/scim/v2/Groups/<nom du groupe> -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations":[
{
"op": "add",
"path":"members",
"value": [{"value": "<email 1>"}, {"value": "<email 2>"}]
}]}' -H "Authorization: Bearer <clé secrète api>" -H "Content-Type: application/scim+json"
Remplacer les membres du groupe
Copier
Demander à l'IA
curl -X PATCH https://server.codeium.com/scim/v2/Groups/<nom du groupe> -d '{"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations":[
{
"op": "replace",
"path":"members",
"value": [{"value": "<email 1>"}, {"value": "<email 2>"}]
}]}' -H "Authorization: Bearer <clé secrète api>" -H "Content-Type: application/scim+json"
Supprimer le groupe
Copier
Demander à l'IA
curl -X DELETE https://server.codeium.com/scim/v2/Groups/<nom du groupe> -H "Authorization: Bearer <clé secrète API>" -H "Content-Type: application/scim+json"
Groupe de Listes
Copier
Demander à l'IA
curl -X GET -H "Authorization: Bearer <clé secrète API>" "https://server.codeium.com/scim/v2/Groups"
Lister les utilisateurs d’un groupe
Copier
Demander à l'IA
curl -X GET -H "Authorization: Bearer <clé secrète api>" "https://server.codeium.com/scim/v2/Groups/<group_id>"
APIs utilisateur
Il existe également des API pour les utilisateurs. Voici quelques-unes des API SCIM courantes que Windsurf prend en charge.Désactiver un utilisateur (Activer en remplaçant false par true) :Copier
Demander à l'IA
curl -X PATCH \
https://server.codeium.com/scim/v2/Users/<clé API utilisateur> \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer <clé secrète API>' \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "replace",
"path": "active",
"value": false
}
]
}'
Copier
Demander à l'IA
curl -X POST \
https://server.codeium.com/scim/v2/Users \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer <clé secrète API>' \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "<email>",
"displayName": "<nom complet>",
"active": true,
}'
Copier
Demander à l'IA
curl -X PATCH \
'https://<enterprise portal url>/_route/api_server/scim/v2/Users/<user api key>' \
-H 'Authorization: Bearer <clé de service>' \
-H 'Content-Type: application/scim+json' \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "Replace",
"path": "displayName",
"value": "<nouveau nom>"
}
]
}'
Création d’une clé secrète d’API
Rendez-vous sur https://windsurf.com/team/settings. Sous Configuration de clé de service, cliquez sur Configurer, puis Ajouter une clé de service. Saisissez n’importe quel nom de clé (tel que ‘Clé de provisionnement Azure’) et cliquez sur Créer une clé de service. Copiez la clé générée et enregistrez-la, vous pouvez désormais utiliser cette clé pour autoriser les API ci-dessus.Prérequis
Ce guide suppose que vous avez configuré Duo comme fournisseur d’identité (IdP) de votre organisation, ou que vous avez configuré un IdP externe.Vous aurez besoin d’un accès administrateur aux comptes Duo et Windsurf.Configurer Duo pour Windsurf
- Accédez à Applications et ajoutez un fournisseur de services SAML générique

- Accédez à SSO dans Team Settings

- Lors de l’activation de SAML pour la première fois, vous devrez définir votre identifiant SSO. Vous ne pourrez plus le modifier par la suite. Il est conseillé d’utiliser le nom de votre organisation ou équipe, uniquement avec des caractères alphanumériques.
-
Copiez la valeur
Entity IDdepuis le portail Duo et collez-la dans le champIdP Entity IDdu portail Windsurf. -
Copiez la valeur
Single Sign-On URLdepuis le portail Duo et collez-la dans le champSSO URLdu portail Windsurf. -
Copiez la valeur du certificat depuis le portail Duo et collez-la dans le champ
X509 Certificatedu portail Windsurf.

-
Copiez la valeur
SP Identity IDdepuis le portail Windsurf et collez-la dans le champEntity IDdu portail Duo. -
Copiez la
Callback URL (Assertion Consumer Service URL)depuis le portail Windsurf et collez-la dans le champAssertion Consumer Service (ACS) URLdu portail Duo. - Dans le portail Duo, configurez les déclarations d’attributs comme suit :

- Activez la connexion SAML dans le portail Windsurf pour pouvoir la tester.
- Une fois le test réussi, vous pouvez vous déconnecter. Vous pouvez désormais utiliser la connexion SSO en accédant à la page de votre équipe/organisation avec l’identifiant SSO que vous avez configuré à l’étape 3.
Prérequis
Ce guide suppose que PingID est configuré et sert d’IDP de votre organisation, ou qu’un IDP externe est configuré.Vous aurez besoin d’un accès administrateur aux comptes PingID et Windsurf.Configurer PingID pour Windsurf
- Accédez à Applications et ajoutez Windsurf comme application SAML

- Accédez à SSO dans Team Settings

- Lors de l’activation de SAML pour la première fois, vous devrez définir votre ID SSO. Vous ne pourrez pas le modifier par la suite.
- Dans PingID, choisissez la saisie manuelle de la configuration et renseignez les champs avec les valeurs suivantes :
- ACS URLs : correspond à la
Callback URL (Assertion Consumer Service URL)depuis le portail Windsurf. - Entity ID : correspond au
SP Entity IDdepuis le portail Windsurf.

-
Copiez l’
Issuer IDdepuis PingID dans la valeurIdP Entity IDdu portail Windsurf. -
Copiez la valeur
Single Signon Servicedepuis PingID dans la valeurSSO URLdu portail Windsurf. -
Téléchargez le certificat de signature depuis PingID au format X509 PEM (.crt), ouvrez le fichier et copiez son contenu dans la valeur
X509 Certificatedu portail Windsurf.
- Dans les mappages d’attributs, assurez-vous d’associer :
saml_subject- Adresse e-mailfirstName- PrénomlastName- Nom de famille

- Ajoutez/modifiez toute autre règle et tout autre accès selon les besoins de votre configuration/organisation.
- Activez la connexion SAML dans le portail Windsurf afin de pouvoir la tester.
- Une fois votre test réussi, vous pouvez vous déconnecter. Vous pouvez désormais utiliser la connexion SSO en accédant à la page de votre équipe/organisation avec l’ID SSO que vous avez configuré à l’étape 3.