- 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 Workspaces 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. Assurez-vous de cliquer sur Test Login pour vérifier que la connexion fonctionne comme prévu. Le SSO sera désormais imposé à 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 Microsoft Entra ID admin center.
- Dans Microsoft Entra ID, cliquez sur Add, puis 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 Microsoft Entra ID admin center.
- Dans votre nouvelle application Windsurf, cliquez sur Set up single sign on, puis cliquez sur SAML.
- Cliquez sur Edit sous Basic SAML Configuration.
- Gardez cet onglet Entra ID ouvert et ouvrez un nouvel onglet pour accéder aux paramètres SSO de 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 de Windsurf
- Reply URL (Assertion Consumer Service URL) : Copiez la valeur Callback URL depuis la page des paramètres SSO de Windsurf
- Cliquez sur Save en haut
- Configurez les attributs utilisateur pour un affichage correct des noms. 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 - Seconde 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 de Windsurf :
- Pick your SSO ID : Choisissez un identifiant unique pour le portail de connexion de votre équipe (cela ne pourra pas être modifié ultérieurement)
- IdP Entity ID : Copiez la valeur depuis Microsoft Entra ID sous Set up Windsurf → Microsoft Entra Identifier
- SSO URL : Copiez la valeur Login URL depuis Microsoft Entra ID
- X509 Certificate : Téléchargez le SAML certificate (Base64) depuis Microsoft Entra ID, ouvrez le fichier, puis collez le contenu texte ici
- Dans le portail Windsurf, cliquez sur Enable Login with SAML, puis cliquez 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 Workspace 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 retour d’information, 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.Partagez l’URL personnalisée du portail de connexion de votre organisation avec vos utilisateurs et demandez‑leur 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’il n’y a pas d’espaces superflus ni de caractères invalides. Veuillez reprendre les étapes du guide et vérifier que vous utilisez les bonnes valeurs.
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 ne prend en charge que 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 allez maintenant récupérer 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’ dans la page d’application Okta et collez-le dans IdP Entity ID
- Copiez le texte après ‘Sign on URL’ dans la page d’application Okta et collez-le dans SSO URL
- Téléchargez le Signing Certificate et collez-le dans 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 pas actuellement en charge les flux de connexion initiés par l’IdP.Nous ne prenons pas encore en charge OIDC.Dépannage
Échec de la configuration de connexion avec SAML : Firebase : Error (auth/operation-not-allowed)

Échec de la configuration de connexion avec SAML : Firebase : SAML Response <Issuer> mismatch. (auth/invalid-credential)

Échec de la vérification de la signature dans samlresponse
Cela indique une valeur incorrecte de votre X509 certificate ; veuillez vous assurer de copier la bonne clé et qu’elle est formatée comme suit :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 (authentification unique) pour utiliser la synchronisation SCIM, mais cela est fortement recommandé.Il vous faut :

Dans la page de configuration du provisionnement, sélectionnez les options suivantes.Mode de provisionnement : AutomatiqueIdentifiants administrateur > URL du tenant : https://server.codeium.com/scim/v2
Laissez la page de provisionnement Azure ouverte, rendez-vous maintenant sur le portail web Windsurf, et cliquez sur l’icône de profil dans la barre de navigation en haut de la page. Sous Paramètres d’équipe, sélectionnez Clé de service et cliquez sur Ajouter une clé de service. Saisissez n’importe quel nom de clé (tel que ‘Provisionnement SCIM Azure’), sélectionnez le rôle “Provisionnement SCIM” que vous avez créé précédemment, et cliquez sur Créer une clé de service. Copiez la clé générée, retournez sur la page Azure, et collez-la dans Jeton secret.
(Ce que vous devriez voir après avoir créé la clé sur Windsurf)Sur la page Provisioning, cliquez sur Test Connection et cela devrait vérifier la connexion SCIM (norme de gestion des identités et des groupes).Maintenant, au-dessus du formulaire de provisioning, cliquez sur Enregistrer.
Sous Mappages d’attributs, supprimez tous les champs sous displayName, en ne conservant que les champs userName, active et displayName.
Pour l’activer, cliquez maintenant sur Modifier. Sous Expression, modifiez le champ enPuis cliquez sur OK.Vos attributs utilisateur doivent ressembler à
Dans la page Mappage des attributs, cliquez sur Enregistrer en haut, puis revenez à la page Approvisionnement.Maintenant, cliquez sur la même page, sous Mappings cliquez sur Provision Microsoft Entra ID Groups. Maintenant, cliquez uniquement sur supprimer pour externalId, et cliquez sur Enregistrer en haut. Revenez à la page Provisioning.
Sur la page Provisioning en bas, il devrait également y avoir un bouton 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 pour l’application Entra ID seront synchronisés avec Windsurf.
Cliquez sur Enregistrer pour terminer, vous avez maintenant activé la synchronisation des utilisateurs et des groupes pour SCIM (norme de gestion des identités et des groupes). Seuls les utilisateurs et groupes assignés à l’application seront synchronisés avec Windsurf. Notez que la suppression d’utilisateurs ne fait que désactiver leur accès à Windsurf (et les empêche d’occuper une place) plutôt que de supprimer les utilisateurs en raison de la conception SCIM d’Azure.
- Accès administrateur à Microsoft Entra ID/Azure AD
- Accès administrateur à Windsurf
- Une application Windsurf existante dans Entra ID (généralement issue de votre application SSO existante)
Autorisations requises pour la clé de serviceLa clé de service utilisée pour l’approvisionnement SCIM (norme de gestion des identités et des groupes) doit disposer des autorisations suivantes :
- Team User Read - Requise pour lire les informations sur les utilisateurs et les groupes
- Team User Update - Requise pour créer et mettre à jour des utilisateurs et des groupes
- Team User Delete - Requise pour désactiver/supprimer des utilisateurs et des groupes
Étape 1 : Créer un rôle avec les autorisations SCIM
Avant de configurer le provisionnement SCIM (norme de gestion des identités et des groupes), vous devez créer un rôle avec les autorisations requises.- Accédez à Windsurf Team Settings
- Sous « Other Settings », cliquez sur Configure à côté de Role Management
- Cliquez sur Add Role et nommez-le « SCIM Provisioning »
- Ajoutez les permissions suivantes :
- Lecture d’utilisateur de l’équipe
- Mise à jour d’utilisateur de l’équipe
- Suppression d’utilisateur de l’équipe
- Cliquez sur Enregistrer
Étape 2 : Accéder à l’application Windsurf existante
Accédez à Microsoft Entra ID sur Azure, cliquez sur Applications d’entreprise dans la barre latérale gauche, puis cliquez sur l’application Windsurf existante dans la liste.
Étape 3 : Configuration du provisionnement SCIM (norme de gestion des identités et des groupes)
Cliquez sur Commencer sous Provisionner les comptes utilisateur au milieu (étape 3), puis cliquez de nouveau sur Commencer.


Étape 4 : Configurer le provisionnement SCIM
Après avoir cliqué sur Enregistrer, une nouvelle option Mappages devrait être apparue dans la page Provisioning. Développez Mappages, 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
Dans Okta, cliquez sur Applications, puis Applications dans la barre latérale gauche, puis cliquez sur l’application Windsurf existante dans la liste des applications.Étape 2 : Activer le provisioning SCIM
Sous l’onglet Général, Paramètres de l’application, cliquez sur Modifier en haut à droite. Cochez ensuite la case « Enable SCIM Provisioning », puis cliquez sur Enregistrer. Un nouvel onglet Provisioning devrait apparaître en haut.Allez maintenant dans Provisioning, cliquez sur Modifier 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 accéder à la configuration de la clé de service
- Cliquez sur Configure, puis Add Service Key, et donnez un nom à votre clé d’API
- Copiez la clé d’API, retournez dans Okta et collez-la dans HTTP Header - Authorization
Étape 3 : Configurer le provisioning
Dans l’onglet Provisioning, à gauche, deux nouveaux sous-onglets devraient apparaître. Cliquez sur To App, puis sur Edit Provisioning to App. Cochez les cases Create Users, Update User Attributes et Deactivate Users, puis cliquez sur Enregistrer.Après cette étape, tous les utilisateurs affectés au groupe seront synchronisés avec Windsurf.Étape 4 : Configurer le provisioning des groupes (facultatif)
Pour synchroniser des groupes avec 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 Enregistrer. 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 Analytics 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 d'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. Dans la section Configuration de clé de service, cliquez sur Ajouter une clé de service. Saisissez un nom de clé quelconque (par exemple « Clé de provisionnement Azure ») et cliquez sur Créer une clé de service. Copiez la clé générée et enregistrez-la, vous pourrez désormais utiliser cette clé pour authentifier les API mentionnées 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 ID de SSO. Vous ne pourrez pas le modifier par la suite. Il est recommandé d’utiliser le nom de votre organisation ou de votre é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 votre test conclu avec succès, 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 de SSO que vous avez configuré à l’étape 3.
Prérequis
Ce guide suppose que PingID est configuré et sert d’IdP pour 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 la première activation de SAML, vous devrez configurer votre ID SSO. Vous ne pourrez plus le modifier par la suite.
- Dans PingID, choisissez la saisie manuelle de la configuration et remplissez les champs avec les valeurs suivantes :
- ACS URLs — correspond à la
Callback URL (Assertion Consumer Service URL)depuis le portail Windsurf. - Entity ID — correspond à la valeur
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 le champ
X509 Certificatedu portail Windsurf.
- Dans les correspondances d’attributs (attribute mappings), veillez à mapper :
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 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’ID SSO que vous avez configuré à l’étape 3.