- SSO (Single Sign-On) Google
- SSO Azure AD
- SSO (Single Sign-On) Okta
- SCIM Azure
- Okta SCIM
- API SCIM
- Duo
- PingID
Windsurf acceptă acum autentificarea prin Single Sign-On (SSO) via SAML. Dacă organizația dvs. folosește Microsoft Entra, Okta, Google Workspace sau un alt furnizor de identitate care suportă SAML, veți putea utiliza SSO cu Windsurf.
Faceți clic pe Add app, apoi pe Add custom SAML app.
Completați câmpul App name cu 
În pagina de setări Codeium, faceți clic pe Enable Login with SAML, apoi pe Save. Asigurați-vă că dați clic pe Test Login pentru a verifica faptul că autentificarea funcționează conform așteptărilor. Toți utilizatorii vor avea acum autentificarea SSO impusă.
Windsurf acceptă doar SSO inițiat de SP; SSO inițiat de IDP NU este în prezent acceptat.
Configurați aplicația IDP
În consola de administrare Google (admin.google.com), faceți clic pe Apps -> Web and mobile apps din bara stângă.

Windsurf și faceți clic pe Next.Ecranul următor (Google Identity Provider details) din consola Google conține date pe care va trebui să le copiați în setările SSO ale Windsurf la https://windsurf.com/team/settings.- Copiați SSO URL din consola Google în setările Windsurf la SSO URL
- Copiați Entity ID din consola Google în setările Windsurf la Idp Entity ID
- Copiați Certificate din consola Google în setările Windsurf la X509 Certificate
- Faceți clic pe Continue în consola Google
- Copiați Callback URL din pagina de setări Codeium în consola Google la ACS URL
- Copiați SP Entity ID din pagina de setări Codeium în consola Google la SP Entity ID
- Schimbați formatul Name ID la EMAIL
- Faceți clic pe Continue în consola Google
- Faceți clic pe Add Mapping, selectați First name și setați App attributes la firstName
- Faceți clic pe Add Mapping, selectați Last name și setați App attributes la lastName
- Faceți clic pe Finish

Windsurf Enterprise acceptă acum autentificarea Single Sign-On (SSO) prin SAML. Dacă organizația ta folosește Microsoft Entra ID (fostul Azure AD), vei putea utiliza SSO cu Windsurf.


Windsurf acceptă doar SSO inițiat de SP; SSO inițiat de IDP NU este acceptat în prezent.
Partea 1: Creează o aplicație Enterprise în Microsoft Entra ID
Toți pașii din această secțiune se efectuează în Microsoft Entra ID admin center.
- În Microsoft Entra ID, fă clic pe Add, apoi pe Enterprise Application.

- Fă clic pe Create your own application.

- Denumește aplicația Windsurf, selectează Integrate any other application you don’t find in the gallery, apoi fă clic pe Create.

Partea 2: Configurează SAML și atributele utilizatorilor în Microsoft Entra ID
Toți pașii din această secțiune se efectuează în Microsoft Entra ID admin center.
- În noua aplicație Windsurf, fă clic pe Set up single sign on, apoi pe SAML.
- Fă clic pe Edit la Basic SAML Configuration.
- Păstrează această filă Entra ID deschisă și deschide o filă nouă pentru a accesa Windsurf Teams SSO settings la https://windsurf.com/team/settings.
-
În formularul de configurare SAML din Microsoft Entra ID:
- Identifier (Entity ID): Copiază valoarea SP Entity ID din Windsurf SSO settings page
- Reply URL (Assertion Consumer Service URL): Copiază valoarea Callback URL din Windsurf SSO settings page
- Fă clic pe Save în partea de sus
- Configurează atributele utilizatorilor pentru afișarea corectă a numelui. În Microsoft Entra ID, la Attributes & Claims, fă clic pe Edit.
-
Creează 2 claimuri noi făcând clic pe Add new claim pentru fiecare:
- Primul claim: Name =
firstName, Source attribute =user.givenname - Al doilea claim: Name =
lastName, Source attribute =user.surname
- Primul claim: Name =
Partea 3: Configurează setările SSO în portalul Windsurf
Finalizează configurarea în portalul Windsurf (https://windsurf.com/team/settings).
-
În Windsurf SSO settings page:
- Pick your SSO ID: Alege un identificator unic pentru portalul de autentificare al echipei tale (acesta nu poate fi schimbat ulterior)
- IdP Entity ID: Copiază valoarea din Microsoft Entra ID la Set up Windsurf → Microsoft Entra Identifier
- SSO URL: Copiază valoarea Login URL din Microsoft Entra ID
- X509 Certificate: Descarcă SAML certificate (Base64) din Microsoft Entra ID, deschide fișierul și lipește aici conținutul text
- În Windsurf portal, fă clic pe Enable Login with SAML, apoi pe Save.
- Testează configurarea: Fă clic pe Test Login pentru a verifica faptul că SSO funcționează conform așteptărilor.
Important: Nu te deconecta și nu închide pagina de setări Windsurf până când nu ai testat cu succes autentificarea. Dacă testul eșuează, este posibil să fie nevoie să depanezi configurația înainte de a continua.
Windsurf Enterprise acceptă acum autentificarea prin Single Sign-On (SSO) via SAML. Dacă organizația dvs. folosește Microsoft Entra, Okta, Google Workspace sau un alt furnizor de identitate care acceptă SAML, veți putea utiliza SSO cu Windsurf.
Selectați SAML 2.0 ca metodă de autentificare
Setați numele aplicației la Windsurf (sau orice alt nume) și faceți clic pe NextConfigurați setările SAML astfel:
În secțiunea de feedback, selectați „This is an internal app that we have created” și faceți clic pe Finish.
În acest moment, totul ar trebui să fie configurat și puteți adăuga utilizatori la noua aplicație Windsurf din Okta.Ar trebui să partajați utilizatorilor dvs. URL-ul personalizat al portalului de autentificare al organizației și să le cereți să se conecteze prin acel link.
Utilizatorii care se conectează la Windsurf prin SSO vor fi aprobați automat în echipă.
Acest lucru indică un SSO ID invalid sau un SSO URL incorect; asigurați-vă că este alfanumeric și că nu are spații suplimentare sau caractere invalide. Parcurgeți din nou pașii din ghid și asigurați-vă că folosiți valorile corecte.
Acest lucru indică faptul că IdP Entity ID este invalid; asigurați-vă că îl copiați corect din portalul Okta, fără caractere suplimentare sau spații înainte sau după șir.
Windsurf acceptă doar SSO inițiat de SP; SSO inițiat de IDP NU este acceptat în prezent.
Configurați aplicația IDP
Faceți clic pe Applications în bara laterală din stânga, apoi pe Create App Integration

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

Înregistrați Okta ca furnizor SAML
Ar trebui să fiți redirecționat la fila Sign on din aplicația dvs. SAML personalizată. Acum veți dori să preluați informațiile de pe această pagină și să le completați în setările SSO ale Windsurf.- Deschideți https://windsurf.com/team/settings și faceți clic pe Configure SAML
- Copiați textul de după ‘Issuer’ din pagina aplicației Okta și lipiți-l la IdP Entity ID
- Copiați textul de după ‘Sign on URL’ din pagina aplicației Okta și lipiți-l la SSO URL
- Descărcați Signing Certificate și lipiți-l la X509 certificate
- Bifați Enable Login with SAML și apoi faceți clic pe Save
- Testați autentificarea cu butonul Test Login. Ar trebui să vedeți un mesaj de succes:


Avertismente
Rețineți că Windsurf nu acceptă în prezent fluxuri de autentificare inițiate de IDP.De asemenea, încă nu acceptăm OIDC.Depanare
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
Acest lucru indică o valoare incorectă a X509 certificate; asigurați-vă că copiați cheia corectă și că este formatată astfel:Copiază
Întreabă AI
-----BEGIN CERTIFICATE-----
valoare
------END CERTIFICATE------
Windsurf suportă sincronizarea SCIM pentru utilizatori și grupuri cu Microsoft Entra ID / Azure AD. Nu este necesar să configurați SSO (Single Sign-On) pentru a utiliza sincronizarea SCIM, dar este foarte recomandat.Veți avea nevoie de:

În pagina de configurare Provizionare, selectați următoarele opțiuni.Mod de provizionare: AutomatCredențiale Administrator > URL Tenant: https://server.codeium.com/scim/v2
Lăsați pagina de provizionare Azure deschisă, apoi accesați portalul web Windsurf și faceți clic pe pictograma de profil din bara de navigare din partea de sus a paginii. În secțiunea Setări echipă, selectați Cheie de serviciu și faceți clic pe Adăugați cheie de serviciu. Introduceți orice nume pentru cheie (cum ar fi ‘Azure SCIM Provisioning’), selectați rolul „SCIM Provisioning” pe care l-ați creat anterior, și faceți clic pe Creați cheie de serviciu. Copiați cheia generată, reveniți la pagina Azure și lipiți-o în câmpul Secret Token.
(Ce ar trebui să vezi după crearea cheii în Windsurf)Pe pagina Provisioning, faceți clic pe Test Connection și aceasta ar trebui să fi verificat conexiunea SCIM.Acum, deasupra formularului de Provisionare, faceți clic pe Salvează.
Sub Mapări de atribute, ștergeți toate câmpurile de sub displayName, lăsând doar câmpurile userName, active și displayName.
Pentru activare, acum faceți clic pe Edit. Sub Expression, modificați câmpul laApoi faceți clic pe OK.Atributele utilizatorului dumneavoastră ar trebui să arate astfel
În pagina Mapare Atribute, faceți clic pe Salvează din partea de sus și navigați înapoi la pagina Provizionare.Acum faceți clic pe aceeași pagină, sub Mappings faceți clic pe Provision Microsoft Entra ID Groups. Acum faceți clic doar pe delete pentru externalId și faceți clic pe Save în partea de sus. Navigați înapoi la pagina Provisioning.
Pe pagina Provisioning în partea de jos, ar trebui să existe și un comutator Provisioning Status. Setați-l pe On pentru a activa sincronizarea SCIM. Acum, la fiecare 40 de minute, utilizatorii și grupurile dvs. pentru aplicația Entra ID vor fi sincronizate cu Windsurf.
Faceți clic pe Save pentru a finaliza, ați activat acum sincronizarea utilizatorilor și grupurilor pentru SCIM. Doar utilizatorii și grupurile atribuite aplicației vor fi sincronizate cu Windsurf. Rețineți că eliminarea utilizatorilor doar le dezactivează accesul la Windsurf (și îi oprește din a ocupa un loc) în loc să șteargă utilizatorii din cauza designului SCIM al Azure.
- Acces de administrare la Microsoft Entra ID / Azure AD
- Acces de admin la Windsurf
- O aplicație Windsurf existentă în Entra ID (de obicei derivată din aplicația dvs. SSO existentă)
Permisiuni necesare pentru cheia de serviciuCheia de serviciu utilizată pentru provizionarea SCIM trebuie să aibă următoarele permisiuni:
- Team User Read - Necesară pentru a citi informațiile despre utilizatori și grupuri
- Team User Update - Necesară pentru a crea și a actualiza utilizatori și grupuri
- Team User Delete - Necesară pentru a dezactiva/șterge utilizatori și grupuri
Pasul 1: Creați un rol cu permisiuni SCIM
Înainte de a configura provizionarea SCIM, trebuie să creați un rol cu permisiunile necesare.- Accesează Setările echipei Windsurf
- Sub „Other Settings”, faceți clic pe Configure lângă Role Management
- Faceți clic pe Add Role și numiți-l „SCIM Provisioning”
- Adăugați aceste permisiuni:
- Citire utilizator de echipă
- Actualizare utilizator de echipă
- Ștergere utilizator de echipă
- Faceți clic pe Save
Pasul 2: Navigați către aplicația Windsurf existentă
Accesați Microsoft Entra ID pe Azure, faceți clic pe „Enterprise applications” din bara laterală din stânga, apoi faceți clic pe aplicația Windsurf existentă din listă.
Pasul 3: Configurarea provizionării SCIM
Faceți clic pe „Get started” sub „Provision User Accounts” din mijloc (pasul 3), apoi faceți clic pe „Get started” din nou.


Pasul 4: Configurează provizionarea SCIM
După ce faceți clic pe Save, o nouă opțiune Mappings ar trebui să fi apărut în pagina Provisioning. Extindeți Mappings și faceți clic pe Provision Microsoft Entra ID Users

Copiază
Întreabă AI
NOT([IsSoftDeleted])



Windsurf acceptă sincronizarea SCIM pentru utilizatori și grupuri cu Okta. Nu este necesar să configurați SSO pentru a utiliza sincronizarea SCIM, dar este recomandat cu tărie.Veți avea nevoie de:
- Acces de administrator la Okta
- Acces de administrator la Windsurf
- O aplicație Windsurf existentă în Okta (de obicei provenind din aplicația dvs. SSO existentă)
Pasul 1: Navigați la aplicația Windsurf existentă
Accesați Okta, faceți clic pe Applications, Applications în bara laterală stângă, apoi faceți clic pe aplicația Windsurf existentă din lista de aplicații.Pasul 2: Activați SCIM Provisioning
În fila General, la App Settings, faceți clic pe Edit în dreapta sus. Bifați apoi caseta „Enable SCIM Provisioning”, după care faceți clic pe Save. Ar trebui să apară o filă nouă de provisioning în partea de sus.Acum mergeți la Provisioning, faceți clic pe Edit și completați câmpurile următoare: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 HeaderPentru HTTP Header - Authorization, puteți genera tokenul de la:- https://windsurf.com/team/settings și accesați Service Key Configuration
- Faceți clic pe Configure, apoi Add Service Key și dați un nume cheii API
- Copiați cheia API, reveniți în Okta și lipiți-o la HTTP Header - Authorization
Pasul 3: Configurați Provisioning
În fila Provisioning, în stânga ar trebui să existe două subfile. Faceți clic pe To App, apoi pe Edit Provisioning to App. Bifați casetele pentru Create Users, Update User Attributes și Deactivate Users, apoi faceți clic pe Save.După acest pas, toți utilizatorii alocați grupului vor fi sincronizați cu Windsurf.Pasul 4: Configurați Group Provisioning (Opțional)
Pentru a sincroniza grupurile cu Windsurf, va trebui să specificați ce grupuri să fie împinse. În cadrul aplicației, faceți clic pe fila Push Groups din partea de sus. Apoi faceți clic pe + Push Groups -> Find Groups by name. Filtrați grupul pe care doriți să-l adăugați, asigurați-vă că „Push group memberships immediately” este bifat, apoi faceți clic pe Save. Grupul va fi creat, iar membrii grupului vor fi sincronizați cu Windsurf. Grupurile pot fi apoi folosite pentru a filtra Analytics de grup în pagina de Analytics.Acest ghid arată cum să creați și să gestionați grupuri în Windsurf cu API-ul SCIM.Există motive pentru care cineva ar putea dori să aprovizioneze grupurile manual în loc să folosească furnizorul lor de identitate (Azure/Okta). Companiile ar putea dori ca grupurile să fie aprovizionate dintr-o sursă internă diferită (site-ul HR, instrument de management al codului sursă etc.) la care Windsurf nu are acces, sau companiile ar putea dori un control mai fin asupra grupurilor decât ceea ce oferă furnizorul lor de identitate. Prin urmare, grupurile pot fi create cu un API prin cerere HTTP. Următoarele oferă exemple pentru cererea HTTP prin CURL.Există 5 API-uri principale aici: Creare Grup, Adăugare membri în grup, Înlocuire membri grup, Ștergere Grup și Listare Utilizatori într-un Grup.Va trebui să creați mai întâi grupul, apoi să înlocuiți grupul pentru a crea un grup cu membri în el. De asemenea, va trebui să codificați în format URL numele grupurilor dacă numele grupului dvs. conține un caracter special precum spațiul, astfel încât un nume de grup precum ‘Engineering Group’ va trebui să devină ‘Engineering%20Group’ în URL.Rețineți că utilizatorii trebuie să fie creați în Windsurf (prin SCIM sau prin crearea manuală a contului) înainte ca aceștia să poată fi adăugați într-un grup.Creează un utilizator:Actualizează numele:
Creează grup
Copiază
Întreabă AI
curl -k -X POST https://server.codeium.com/scim/v2/Groups -d '{
"displayName": "<numele grupului>",
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"]
}' -H "Authorization: Bearer <api secret key>" -H "Content-Type: application/scim+json"
Adăugați membri în grup
Copiază
Întreabă AI
curl -X PATCH https://server.codeium.com/scim/v2/Groups/<nume grup> -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 <cheie secretă api>" -H "Content-Type: application/scim+json"
Înlocuirea membrilor grupului
Copiază
Întreabă AI
curl -X PATCH https://server.codeium.com/scim/v2/Groups/<nume grup> -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 <cheie secretă api>" -H "Content-Type: application/scim+json"
Șterge Grupul
Copiază
Întreabă AI
curl -X DELETE https://server.codeium.com/scim/v2/Groups/<nume grup> -H "Authorization: Bearer <cheie secretă API>" -H "Content-Type: application/scim+json"
Grup de Liste
Copiază
Întreabă AI
curl -X GET -H "Authorization: Bearer <cheie secretă API>" "https://server.codeium.com/scim/v2/Groups"
Listează utilizatorii dintr-un grup
Copiază
Întreabă AI
curl -X GET -H "Authorization: Bearer <cheie secretă api>" "https://server.codeium.com/scim/v2/Groups/<group_id>"
API-uri utilizator
Există de asemenea API-uri și pentru utilizatori. Următoarele sunt câteva dintre API-urile SCIM (standard/protocol deschis pentru gestionarea identităților și grupurilor între domenii — provizionare, deprovizionare și sincronizare) comune pe care le acceptă Windsurf.Dezactivează un utilizator (Activează înlocuind false cu true):Copiază
Întreabă AI
curl -X PATCH \
https://server.codeium.com/scim/v2/Users/<cheie API utilizator> \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer <cheie secretă API>' \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "replace",
"path": "active",
"value": false
}
]
}'
Copiază
Întreabă AI
curl -X POST \
https://server.codeium.com/scim/v2/Users \
-H 'Content-Type: application/scim+json' \
-H 'Authorization: Bearer <cheie secretă API>' \
-d '{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"userName": "<email>",
"displayName": "<nume complet>",
"active": true,
}'
Copiază
Întreabă AI
curl -X PATCH \
'https://<url portal enterprise>/_route/api_server/scim/v2/Users/<cheie api utilizator>' \
-H 'Authorization: Bearer <cheie de serviciu>' \
-H 'Content-Type: application/scim+json' \
-d '{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations": [
{
"op": "Replace",
"path": "displayName",
"value": "<nume nou>"
}
]
}'
Crearea unei chei secrete API
Accesați https://windsurf.com/team/settings. În secțiunea Configurarea Cheii de Serviciu, faceți clic pe Adăugați Cheie de Serviciu. Introduceți orice nume pentru cheie (cum ar fi ‘Cheie de Provizionare Azure’) și faceți clic pe Creați Cheie de Serviciu. Copiați cheia generată și salvați-o, acum puteți folosi cheia pentru a autoriza API-urile de mai sus.Cerințe prealabile
Acest ghid presupune că aveți Duo configurat și că acesta acționează ca IdP-ul organizațional sau că aveți un IdP extern configurat.Veți avea nevoie de acces de administrator atât la conturile Duo, cât și la Windsurf.Configurați Duo pentru Windsurf
- Accesați Applications și adăugați un furnizor de servicii Generic SAML

- Accesați SSO în Team Settings

- La activarea SAML pentru prima dată, vi se va solicita să configurați SSO ID. Nu îl veți mai putea modifica ulterior. Este recomandat să îl setați la numele organizației sau al echipei, folosind doar caractere alfanumerice.
-
Copiați valoarea
Entity IDdin portalul Duo și inserați-o în câmpulIdP Entity IDdin portalul Windsurf. -
Copiați valoarea
Single Sign-On URLdin portalul Duo și inserați-o în câmpulSSO URLdin portalul Windsurf. -
Copiați valoarea certificatului din portalul Duo și inserați-o în câmpul
X509 Certificatedin portalul Windsurf

-
Copiați valoarea
SP Identity IDdin portalul Windsurf și inserați-o în câmpulEntity IDdin portalul Duo. -
Copiați
Callback URL (Assertion Consumer Service URL)din portalul Windsurf și inserați-o în câmpulAssertion Consumer Service (ACS) URLdin portalul Duo. - În portalul Duo, configurați declarațiile de atribute astfel:

- Activați autentificarea SAML în portalul Windsurf pentru a o putea testa.
- După ce testul a fost finalizat cu succes, vă puteți deconecta. Acum puteți folosi autentificarea SSO când accesați pagina echipei/organizației cu SSO ID configurat la pasul 3.
Cerințe prealabile
Acest ghid presupune că ai PingID configurat și că acesta acționează ca IDP-ul organizației tale sau că ai un IDP extern configurat.Vei avea nevoie de acces de administrator atât la conturile PingID, cât și la Windsurf.Configurează PingID pentru Windsurf
- Mergi la Applications și adaugă Windsurf ca aplicație SAML

- Mergi la SSO în Team Settings

- Când activezi SAML pentru prima dată, ți se va cere să îți configurezi SSO ID-ul. Nu îl vei putea modifica ulterior.
- În PingID — alege introducerea manuală a configurației și completează câmpurile cu următoarele valori:
- ACS URLs — acesta este
Callback URL (Assertion Consumer Service URL)din portalul Windsurf. - Entity ID — acesta este
SP Entity IDdin portalul Windsurf.

-
Copiază
Issuer IDdin PingID în câmpulIdP Entity IDdin portalul Windsurf. -
Copiază valoarea
Single Signon Servicedin PingID în câmpulSSO URLdin portalul Windsurf. -
Descarcă Signing Certificate din PingID ca X509 PEM (.crt), deschide fișierul și copiază conținutul acestuia în câmpul
X509 Certificatedin portalul Windsurf.
- În mapările de atribute, asigură-te că mapezi:
saml_subject- Adresă de e-mailfirstName- PrenumelastName- Nume de familie

- Adaugă/editează orice alte politici și setări de acces conform cerințelor configurației/organizației tale.
- Activează autentificarea SAML în portalul Windsurf pentru a o putea testa.
- După ce testul a fost finalizat cu succes, te poți deloga. Acum poți folosi autentificarea SSO când accesezi pagina echipei/organizației tale cu SSO ID-ul pe care l-ai configurat la pasul 3.