> ## Documentation Index
> Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurarea SSO & SCIM

> Configurați Single Sign-On (SSO) și gestionarea utilizatorilor prin SCIM pentru organizația dvs., utilizând Google Workspace, Microsoft Azure AD, Okta sau alți furnizori de identitate SAML.

Această funcționalitate este disponibilă numai pentru utilizatorii Teams și Enterprise.

<Tabs>
  <Tab title="SSO (Single Sign-On) Google">
    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.

    <Note>Windsurf acceptă doar SSO inițiat de SP; SSO inițiat de IDP NU este în prezent acceptat.</Note>

    ### Configurează aplicația IDP

    În consola de administrare Google (admin.google.com), dă clic pe **Apps -> Web and mobile apps** în stânga.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=9d300c86c609da6ee3fb630e91f4de3e" width="530" height="788" data-path="assets/auth/sso-google.png" />
    </Frame>

    Dă clic pe **Add app**, apoi pe **Add custom SAML app**.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google2.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=44375b535f269f130aea8c5bd6e736be" width="514" height="534" data-path="assets/auth/sso-google2.png" />
    </Frame>

    Completează câmpul **App name** cu `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](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

    Ecranul următor din consola Google necesită copierea unor date din pagina de setări a Codeium

    * 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

    Ecranul următor din consola Google necesită câteva configurări

    * 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**

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-google3.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=c29f0ebf5a05dd5fae3a1127c4111d29" width="2078" height="862" data-path="assets/auth/sso-google3.png" />
    </Frame>

    Î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ă.
  </Tab>

  <Tab title="Microsoft Entra ID">
    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.

    <Note>Windsurf acceptă doar SSO inițiat de SP; SSO inițiat de IDP NU este acceptat în prezent.</Note>

    ## Partea 1: Creează o aplicație Enterprise în Microsoft Entra ID

    <Note>Toți pașii din această secțiune se efectuează în **Microsoft Entra ID admin center**.</Note>

    1. În Microsoft Entra ID, dă clic pe **Add**, apoi pe **Enterprise Application**.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=70c1ef27e1870d1f95176d12cd7c9c47" width="854" height="384" data-path="assets/auth/sso-azure.png" />
    </Frame>

    2. Dă clic pe **Create your own application**.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure2.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=d8d3d2b159172edef9033487d1167b52" width="680" height="202" data-path="assets/auth/sso-azure2.png" />
    </Frame>

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

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-azure3.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=38dd3186171705ca16387dfff4a5b24b" width="968" height="342" data-path="assets/auth/sso-azure3.png" />
    </Frame>

    ## Partea 2: Configurează SAML și atributele utilizatorului în Microsoft Entra ID

    <Note>Toți pașii din această secțiune se efectuează în **Microsoft Entra ID admin center**.</Note>

    4. În noua aplicație Windsurf, dă clic pe **Set up single sign on**, apoi pe **SAML**.

    5. Dă clic pe **Edit** la **Basic SAML Configuration**.

    6. **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](https://windsurf.com/team/settings).

    7. Î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

    8. Configurează atributele utilizatorului pentru afișarea corectă a numelui. În **Microsoft Entra ID**, la **Attributes & Claims**, dă clic pe **Edit**.

    9. 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`

    ## Partea 3: Configurează setările SSO în portalul Windsurf

    <Note>Finalizează configurarea în **Windsurf portal** ([https://windsurf.com/team/settings](https://windsurf.com/team/settings)).</Note>

    10. 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

    11. În **Windsurf portal**, dă clic pe **Enable Login with SAML**, apoi pe **Save**.

    12. **Testează configurarea**: Dă clic pe **Test Login** pentru a verifica faptul că SSO funcționează conform așteptărilor.

    <Note>**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.</Note>
  </Tab>

  <Tab title="SSO (Single Sign-On) Okta">
    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.

    <Note>Windsurf acceptă doar SSO inițiat de SP; SSO inițiat de IDP NU este acceptat în prezent.</Note>

    ### Configurați aplicația IDP

    Faceți clic pe Applications în bara laterală din stânga, apoi pe Create App Integration

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta1.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=e3f879d2fa7faeba003aa04e2c5d3a4a" width="1248" height="962" data-path="assets/auth/sso-okta1.png" />
    </Frame>

    Selectați SAML 2.0 ca metodă de autentificare

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta2.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=df39e8a15a879d8f2798a4284087c567" width="1600" height="1023" data-path="assets/auth/sso-okta2.png" />
    </Frame>

    Setați numele aplicației ca Windsurf (sau orice alt nume), apoi faceți clic pe Next

    Configurați setările SAML astfel:

    * Single sign-on URL la [https://auth.windsurf.com/\&#95;\&#95;/auth/handler](https://auth.windsurf.com/\&#95;\&#95;/auth/handler)
    * Audience URI (SP Entity ID) la [www.codeium.com](http://www.codeium.com)
    * NameID format la EmailAddress
    * Application username la Email

    Configurați declarațiile de atribute după cum urmează, apoi faceți clic pe **Next**.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta3.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=0903972c21dd13147a1adfe8791f1679" width="1398" height="602" data-path="assets/auth/sso-okta3.png" />
    </Frame>

    În secțiunea de feedback, selectați „This is an internal app that we have created”, apoi faceți clic pe **Finish**.

    ### Î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](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:

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta4.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=574e091c869162bc41dc0aa36cd209fa" width="1046" height="270" data-path="assets/auth/sso-okta4.png" />
    </Frame>

    Î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.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta5.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=f3ccced59b0cbc7d0f0b1b6b39f1ee1c" width="988" height="312" data-path="assets/auth/sso-okta5.png" />
    </Frame>

    Utilizatorii care se autentifică în Windsurf prin SSO vor fi aprobați automat în echipă.

    ### 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)

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta6.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=f65534799dfd8f941a68dc9fc72236d4" width="617" height="92" data-path="assets/auth/sso-okta6.png" />
    </Frame>

    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.

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

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/sso-okta7.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=446c8ad9510b7dcc8e744c7b80862c29" width="752" height="117" data-path="assets/auth/sso-okta7.png" />
    </Frame>

    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.

    ### 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:

    ```
    -----BEGIN CERTIFICATE-----
    value
    ------END CERTIFICATE------
    ```
  </Tab>

  <Tab title="Azure SCIM (Standard deschis pentru gestionarea identităților și a grupurilor între domenii)">
    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:

    * 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ă.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=c2425d24cadc8997c694a4b8a950169a" width="1258" height="664" data-path="assets/auth/scim-azure.png" />
    </Frame>

    ## 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.

    <Frame>
      <img src="https://mintcdn.com/codeium/s3SYO8XdSvmrABvq/assets/auth/scim-azure2.png?fit=max&auto=format&n=s3SYO8XdSvmrABvq&q=85&s=1e9c8417da7568dc587941955f6d0ace" width="2582" height="1858" data-path="assets/auth/scim-azure2.png" />
    </Frame>

    În pagina de configurare Provisioning, selectați următoarele opțiuni.

    Provisioning Mode:  Automatic

    Admin Credentials > Tenant URL: [https://server.codeium.com/scim/v2](https://server.codeium.com/scim/v2)

    Lă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.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure3.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=80477c2c0d31631e38e217b22e9f42a3" width="1612" height="1013" data-path="assets/auth/scim-azure3.png" />
    </Frame>

    (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.

    ## 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

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure4.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=276791b068bd34c2bcbe5321e95abfd6" width="666" height="438" data-path="assets/auth/scim-azure4.png" />
    </Frame>

    În secțiunea attribute Mappings, ștergeți toate câmpurile de sub displayName, lăsând doar câmpurile userName, active și displayName.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure5.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=ddb9440614a4bc04f7c561bbf64a2d5a" width="1260" height="190" data-path="assets/auth/scim-azure5.png" />
    </Frame>

    Pentru active, faceți acum clic pe Edit. În Expression, modificați câmpul la

    ```
    NOT([IsSoftDeleted])
    ```

    Apoi faceți clic pe OK.

    Atributele utilizatorului ar trebui să arate astfel:

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure6.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=2beab12c979d3272d522293080634811" width="2826" height="490" data-path="assets/auth/scim-azure6.png" />
    </Frame>

    Î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.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure7.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=11e89ce7d057c455ea00e0f469351b61" width="1258" height="203" data-path="assets/auth/scim-azure7.png" />
    </Frame>

    Î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.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/scim-azure8.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=1214073ce82bd85a1c2a57834005608f" width="686" height="306" data-path="assets/auth/scim-azure8.png" />
    </Frame>

    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.
  </Tab>

  <Tab title="Okta SCIM (Standard deschis pentru gestionarea identităților și a grupurilor între domenii)">
    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/v2](https://server.codeium.com/scim/v2)

    Unique identifier field for users: email

    Supported provisioning actions: Push New Users, Push Profile Updates, Push Groups

    Authentication Mode: HTTP Header

    Pentru HTTP Header - Authorization, puteți genera tokenul din:

    * [https://windsurf.com/team/settings](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

    Faceți clic pe Save după ce completați Provisioning Integration.

    ## 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.
  </Tab>

  <Tab title="API SCIM">
    Acest ghid arată cum să creați și să gestionați grupuri în Windsurf cu API-ul SCIM (Standard deschis pentru gestionarea identităților și a grupurilor între domenii).

    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.

    ### Creează grup

    ```
    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 <cheie secretă api>" -H "Content-Type: application/scim+json"
    ```

    ### Adăugați membri în grup

    ```
    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

    ```
    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

    ```
    curl -X DELETE https://server.codeium.com/scim/v2/Groups/<nume grup> -H "Authorization: Bearer <cheie secretă api>" -H "Content-Type: application/scim+json"
    ```

    ### Listează Grupul

    ```
    curl -X GET -H "Authorization: Bearer <cheie secretă api>" "https://server.codeium.com/scim/v2/Groups"
    ```

    ### Listează utilizatorii dintr-un grup

    ```
    curl -X GET -H "Authorization: Bearer <cheie secretă API>" "https://server.codeium.com/scim/v2/Groups/<group_id>"
    ```

    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.

    ## API-uri utilizator

    Există, de asemenea, API-uri pentru utilizatori. Următoarele sunt câteva dintre API-urile SCIM (Standard deschis pentru gestionarea identităților și a grupurilor între domenii) comune pe care le acceptă Windsurf.

    Dezactivează un utilizator (Activează înlocuind false cu true):

    ```
    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
          }
        ]
      }'
    ```

    Creați un utilizator:

    ```
    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": "<full name>",
        "active": true,
    }'
    ```

    Actualizează numele:

    ```
    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": "<new name>"
            }
          ]
       }'
    ```

    ## Crearea unei chei secrete API

    Accesați [https://windsurf.com/team/settings](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.
  </Tab>

  <Tab title="Duo">
    ## 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

    1. Accesați Applications și adăugați un furnizor de servicii Generic SAML

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-1.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=7e598d7e9a9ee2c3884caa1c60ba68ff" width="2230" height="920" data-path="assets/auth/duo-sso-1.png" />
    </Frame>

    2. Accesați SSO în Team Settings

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=df8dde8b5b66a27532a3f42cdd803a17" width="1676" height="1444" data-path="assets/auth/windsurf-sso-team-settings.png" />
    </Frame>

    3. 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.

    4. Copiați valoarea `Entity ID` din portalul Duo și lipiți-o în câmpul `IdP Entity ID` din portalul Windsurf.

    5. Copiați valoarea `Single Sign-On URL` din portalul Duo și lipiți-o în câmpul `SSO URL` din portalul Windsurf.

    6. Copiați valoarea certificatului din portalul Duo și lipiți-o în câmpul `X509 Certificate` din portalul Windsurf

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-3.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=a7594c846a32e958a1bacfc01c5d3ef3" width="1536" height="290" data-path="assets/auth/duo-sso-3.png" />
    </Frame>

    7. Copiați valoarea `SP Identity ID` din portalul Windsurf și lipiți-o în câmpul `Entity ID` din portalul Duo.

    8. Copiați `Callback URL (Assertion Consumer Service URL)` din portalul Windsurf și lipiți-o în câmpul `Assertion Consumer Service (ACS) URL` din portalul Duo.

    9. În portalul Duo, configurați declarațiile de atribute după cum urmează:

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/duo-sso-4.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=bb3b514b94a6b0ebba19aa492c8be4a2" width="1676" height="290" data-path="assets/auth/duo-sso-4.png" />
    </Frame>

    10. Activați autentificarea SAML în portalul Windsurf pentru a o testa.

    **NOTĂ: NU VĂ DELOGAȚI ȘI NU ÎNCHIDEȚI FEREASTRA ÎN ACEST MOMENT.**

    Dacă primiți o eroare sau intervine un timeout, remediați setările; altfel, va trebui să dezactivați setările SAML în portalul Windsurf.

    **Dacă vă delogați sau închideți fereastra fără a confirma un test reușit, este posibil să fiți blocați.**

    11. 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.

    [https://www.codeium.com/yourssoid/login](https://www.codeium.com/yourssoid/login)
  </Tab>

  <Tab title="PingID">
    ## 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

    1. Navighează la Applications și adaugă Windsurf ca aplicație SAML

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-1.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=f86f6145e0eac599178ca9d9ee66b776" width="2258" height="1068" data-path="assets/auth/pingid-1.png" />
    </Frame>

    2. Navighează la SSO în Team Settings

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/windsurf-sso-team-settings.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=df8dde8b5b66a27532a3f42cdd803a17" width="1676" height="1444" data-path="assets/auth/windsurf-sso-team-settings.png" />
    </Frame>

    3. Când activezi SAML pentru prima dată, ți se va cere să configurezi SSO ID. **Nu îl vei mai putea schimba ulterior.**

    Se recomandă să setezi acest ID la numele organizației sau al echipei, folosind doar caractere alfanumerice.

    4. Î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 ID` din portalul Windsurf.

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-3.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=e33dc0b9d021309da0fcdb2ac4f08bbb" width="974" height="672" data-path="assets/auth/pingid-3.png" />
    </Frame>

    5. Copiază `Issuer ID` din PingID în `IdP Entity ID` din portalul Windsurf.

    6. Copiază valoarea `Single Signon Service` din PingID în `SSO URL` din portalul Windsurf.

    7. Descarcă Signing Certificate din PingID în format X509 PEM (.crt), deschide fișierul și copiază conținutul acestuia în `X509 Certificate` din portalul Windsurf.

    **Notă**: asigură-te că liniile de început și de sfârșit sunt complete, cu 5 liniuțe (-), și că nu copiezi alte caractere!

    8. În mapările de atribute, asigură-te că mapezi:

    * `saml_subject` - Adresă de e-mail
    * `firstName` - Prenume
    * `lastName` - Nume de familie

    <Frame>
      <img src="https://mintcdn.com/codeium/DnGnXhZxl1qb2EWt/assets/auth/pingid-4.png?fit=max&auto=format&n=DnGnXhZxl1qb2EWt&q=85&s=4ff17f07bfb897072fb68e212ee2ac12" width="1398" height="780" data-path="assets/auth/pingid-4.png" />
    </Frame>

    9. Adaugă/editează orice alte politici și drepturi de acces, conform cerințelor configurației/organizației tale.

    10. Activează autentificarea SAML în portalul Windsurf pentru a o testa.

    **NOTĂ: NU TE DELOGA ȘI NU ÎNCHIDE FEREASTRA ÎN ACEST MOMENT.**

    Dacă primești o eroare sau expiră timpul, investighează setările; altfel va trebui să dezactivezi setările SAML în portalul Windsurf.

    **Dacă te deloghezi sau închizi fereastra fără a confirma un test reușit, este posibil să fii blocat.**

    11. 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.

    [https://www.codeium.com/yourssoid/login](https://www.codeium.com/yourssoid/login)
  </Tab>
</Tabs>
