- SSO (Single Sign-On) Google
- SSO Azure AD
- SSO (Single Sign-On) Okta
- Azure SCIM (System for Cross-domain Identity Management — standard deschis pentru aprovizionarea și sincronizarea conturilor și grupurilor între sisteme)
- Okta SCIM (System for Cross-domain Identity Management — standard deschis pentru aprovizionarea și sincronizarea conturilor și grupurilor între sisteme)
- API SCIM (System for Cross-domain Identity Management — standard deschis pentru aprovizionarea și sincronizarea conturilor și grupurilor între sisteme)
- Duo
- PingID
Windsurf acceptă acum autentificarea prin Single Sign-On (SSO) via SAML. Dacă organizația ta folosește Microsoft Entra, Okta, Google Workspace sau un alt furnizor de identitate care acceptă SAML, vei putea utiliza SSO cu Windsurf.
Dă clic pe Add app, apoi pe Add custom SAML app.
Completează câmpul App name cu 
În pagina de setări a Codeium, dă clic pe Enable Login with SAML, apoi pe Save. Asigură-te că dai 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.
Configurează aplicația IDP
În consola de administrare Google (admin.google.com), dă clic pe Apps -> Web and mobile apps în stânga.

Windsurf, apoi dă clic pe Next.Ecranul următor (Google Identity Provider details) din consola Google conține date pe care va trebui să le copiezi în setările SSO ale Windsurf la https://windsurf.com/team/settings.- Copiază SSO URL din consola Google în setările Windsurf la SSO URL
- Copiază Entity ID din consola Google în setările Windsurf la Idp Entity ID
- Copiază Certificate din consola Google în setările Windsurf la X509 Certificate
- Dă clic pe Continue în consola Google
- Copiază Callback URL din pagina de setări a Codeium în consola Google la ACS URL
- Copiază SP Entity ID din pagina de setări a Codeium în consola Google la SP Entity ID
- Schimbă formatul Name ID în EMAIL
- Dă clic pe Continue în consola Google
- Dă clic pe Add Mapping, selectează First name și setează App attributes la firstName
- Dă clic pe Add Mapping, selectează Last name și setează App attributes la lastName
- Dă 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, dă clic pe Add, apoi pe Enterprise Application.

- Dă clic pe Create your own application.

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

Partea 2: Configurează SAML și atributele utilizatorului î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, dă clic pe Set up single sign on, apoi pe SAML.
- Dă clic pe Edit la Basic SAML Configuration.
- Păstrează acest tab Entra ID deschis și deschide un tab nou pentru a naviga la 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 de pe Windsurf SSO settings page
- Reply URL (Assertion Consumer Service URL): Copiază valoarea Callback URL de pe Windsurf SSO settings page
- Dă clic pe Save în partea de sus
- Configurează atributele utilizatorului pentru afișarea corectă a numelui. În Microsoft Entra ID, la Attributes & Claims, dă clic pe Edit.
-
Creează 2 claimuri noi dâ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 Windsurf portal (https://windsurf.com/team/settings).
-
Pe Windsurf SSO settings page:
- Pick your SSO ID: Alege un identificator unic pentru portalul de autentificare al echipei tale (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, dă clic pe Enable Login with SAML, apoi pe Save.
- Testează configurarea: Dă 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ă trebuiască să depanezi configurația înainte de a continua.
Windsurf Enterprise acceptă acum autentificarea Single Sign-On (SSO) prin SAML. Dacă organizația dvs. folosește Microsoft Entra, Okta, Google Workspaces sau un alt furnizor de identitate care suportă SAML, veți putea utiliza SSO cu Windsurf.
Selectați SAML 2.0 ca metodă de autentificare
Setați numele aplicației ca Windsurf (sau orice alt nume), apoi 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”, apoi 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ă distribuiți utilizatorilor URL-ul personalizat al portalului de autentificare al organizației dvs. și să le cereți să se conecteze prin acel link.
Utilizatorii care se autentifică în Windsurf prin SSO vor fi aprobați automat în echipă.
Acest lucru indică un ID SSO invalid sau faptul că SSO URL este 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ă utilizaț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 SAML personalizată. Acum veți dori să preluați informațiile de pe această pagină și să le introduceți în setările SSO din 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 inserați-l la IdP Entity ID
- Copiați textul de după „Sign on URL” din pagina aplicației Okta și inserați-l la SSO URL
- Descărcați Signing Certificate și inseraț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:


Atenționări
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 acceptă sincronizarea SCIM pentru utilizatori și grupuri cu Microsoft Entra ID / Azure AD. Nu este necesar să configurați SSO pentru a utiliza sincronizarea SCIM, dar este foarte recomandat.Veți avea nevoie de:

În pagina de configurare Provisioning, selectați următoarele opțiuni.Provisioning Mode: AutomaticAdmin Credentials > Tenant URL: https://server.codeium.com/scim/v2Lăsați deschisă pagina de aprovizionare Azure, apoi accesați portalul web Windsurf și faceți clic pe pictograma profilului din bara de navigare din partea de sus a paginii. În Team Settings, selectați Service Key și faceți clic pe Add Service Key. Introduceți orice nume pentru cheie (de exemplu, „Azure Provisioning Key”) și faceți clic pe Create Service Key. Copiați cheia generată, reveniți la pagina Azure și inserați-o în Secret Token.
(Ce ar trebui să vedeți după crearea cheii în Windsurf)În pagina Provisioning, faceți clic pe Test Connection, iar acest lucru ar trebui să verifice conexiunea SCIM.Acum, deasupra formularului Provisioning, faceți clic pe Save.
În secțiunea attribute Mappings, ștergeți toate câmpurile de sub displayName, lăsând doar câmpurile userName, active și displayName.
Pentru active, faceți acum clic pe Edit. În Expression, modificați câmpul laApoi faceți clic pe OK.Atributele utilizatorului ar trebui să arate astfel:
În pagina Attribute Mapping, faceți clic pe Save în partea de sus și reveniți la pagina Provisioning.Pe aceeași pagină, sub Mappings, faceți clic pe Provision Microsoft Entra ID Groups. Ștergeți doar externalId și faceți clic pe Save în partea de sus. Reveniți la pagina Provisioning.
În 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. De acum, la fiecare 40 de minute, utilizatorii și grupurile aplicației Entra ID vor fi sincronizați cu Windsurf.
Faceți clic pe Save pentru a finaliza; ați activat sincronizarea utilizatorilor și a grupurilor prin SCIM. Doar utilizatorii și grupurile atribuite aplicației vor fi sincronizați cu Windsurf. Rețineți că eliminarea utilizatorilor le dezactivează doar accesul la Windsurf (și eliberează locurile ocupate), în loc să șteargă utilizatorii, conform modului în care funcționează SCIM în Azure.
- Acces de administrator la Microsoft Entra ID / Azure AD
- Acces de administrator la Windsurf
- O aplicație Windsurf existentă în Entra ID (de obicei din aplicația SSO existentă)
Pasul 1: Accesați aplicația Windsurf existentă
Accesați Microsoft Entra ID în Azure, faceți clic pe Enterprise applications în bara laterală din stânga, apoi faceți clic pe aplicația Windsurf existentă din listă.
Pasul 2: Configurați aprovizionarea SCIM
Faceți clic pe Get started în zona Provision User Accounts din mijloc (pasul 3), apoi faceți din nou clic pe Get started.

Pasul 3: Configurați aprovizionarea SCIM
După ce faceți clic pe Save, ar trebui să apară o nouă opțiune, Mappings, în pagina Provisioning. Extindeți Mappings și faceți clic pe Provision Microsoft Entra ID Users

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



Windsurf oferă suport pentru sincronizarea SCIM a utilizatorilor și grupurilor cu Okta. Nu este necesar să configurați SSO pentru a folosi 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 provenită 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, App Settings, faceți clic pe Edit în dreapta sus. Bifați caseta „Enable SCIM Provisioning”, apoi faceți clic pe Save. Ar trebui să fi apărut o filă nouă, Provisioning, în partea de sus.Acum mergeți la Provisioning, faceți clic pe Edit și completați următoarele câmpuri: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 din:- https://windsurf.com/team/settings, apoi accesați Other Settings și găsiți Service Key Configuration
- Faceți clic pe Add Service Key și dați cheii un nume
- Copiați cheia API, reveniți la Okta și lipiți-o în HTTP Header - Authorization
Pasul 3: Configurați Provisioning
În fila Provisioning, în stânga ar trebui să apară două subfile. Faceți clic pe To App și 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 atribuiți grupului vor fi sincronizați cu Windsurf.Pasul 4: Configurați Group Provisioning (Opțional)
Pentru a sincroniza grupuri cu Windsurf, va trebui să specificați ce grupuri să împingeți. Î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ă opțiunea 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 de a putea 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 pentru utilizatori. Următoarele sunt câteva dintre API-urile SCIM (System for Cross-domain Identity Management — standard deschis pentru aprovizionarea și sincronizarea conturilor și grupurilor între sisteme) 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://<enterprise portal url>/_route/api_server/scim/v2/Users/<user api key>' \
-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. Sub Configurarea cheii de serviciu, faceți clic pe Configurare, apoi pe Adăugare cheie de serviciu. Introduceți orice nume pentru cheie (cum ar fi ‘Cheie de aprovizionare Azure’) și faceți clic pe Creare cheie de serviciu. Copiați cheia rezultată ș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ției dvs. 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

- Când activați SAML pentru prima dată, vi se va solicita să configurați ID-ul SSO. Nu îl veți putea schimba ulterior. Se recomandă să setați numele organizației sau al echipei, folosind doar caractere alfanumerice.
-
Copiați valoarea
Entity IDdin portalul Duo și lipiți-o în câmpulIdP Entity IDdin portalul Windsurf. -
Copiați valoarea
Single Sign-On URLdin portalul Duo și lipiți-o în câmpulSSO URLdin portalul Windsurf. -
Copiați valoarea certificatului din portalul Duo și lipiți-o în câmpul
X509 Certificatedin portalul Windsurf

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

- Activați autentificarea SAML în portalul Windsurf pentru a o testa.
- După ce testul a fost finalizat cu succes, vă puteți deloga. Acum puteți folosi autentificarea SSO când accesați pagina echipei/organizației dvs., cu ID-ul SSO pe care l-ați 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 configurat un IdP extern.Vei avea nevoie de acces de administrator la conturile PingID și Windsurf.Configurează PingID pentru Windsurf
- Navighează la Applications și adaugă Windsurf ca aplicație SAML

- Navighează la SSO în Team Settings

- Când activezi SAML pentru prima dată, ți se va cere să configurezi SSO ID. Nu îl vei mai putea schimba 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 înIdP Entity IDdin portalul Windsurf. -
Copiază valoarea
Single Signon Servicedin PingID înSSO URLdin portalul Windsurf. -
Descarcă Signing Certificate din PingID în format X509 PEM (.crt), deschide fișierul și copiază conținutul acestuia în
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 drepturi de acces, conform cerințelor configurației/organizației tale.
- Activează autentificarea SAML în portalul Windsurf pentru a o 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 configurat la pasul 3.