Sökresultat :

×

Drupal SCIM Server API-slutpunkter

Det här dokumentet beskriver de SCIM-slutpunkter som krävs för att aktivera användarprovisionering och avprovisionering av SCIM. SCIM är ett branschstandardprotokoll som låter dig automatisera användaråtgärder för CRUD. Med hjälp av modul, kommer Drupal-webbplatsen att kunna fungera som SCIM-server. Det betyder att alla ändringar som görs på identitetsleverantören (dvs. SCIM-klienten) kommer att synkroniseras med Drupal-webbplatsen.

  • Protokollversion: SCIM 2.0
  • Basväg: base_url/scim
  • Resurser som stöds: Användare, grupper
  • Dataformat: JSON
  • Tillstånd: Bärartoken
  • Innehållstyp: ansökan / json
  • Acceptera: ansökan / json

Följande API-operationer stöds

Användarslutpunkter

Gruppens slutpunkter

    För att inaktivera eller ta bort en användare i Drupal måste du aktivera nödvändiga inställningar i modulen. Dessa alternativ finns tillgängliga på modulens konfigurationssida.

    PATCH /Användare/{användar-id}
  • fel:
  • Fel Skick HTTP-statuskod
    Valideringsundantag Antingen är modulen inte aktiverad, eller så används fel licensierad nyckel 400
    Obehörigt undantag Auktoriseringsrubriken är ogiltig eller saknas. 401
    ResursickehittadException Den angivna användaren finns inte. 404
  • Exempelbegäran:
  • PATCH /Användare/{användar-id} HTTP/1.1 Innehållstyp: application/json Auktorisering: Bearer { "Operationer": [ { "op": "Ersätt", "sökväg": "aktiv", "värde": falskt } ] }
        
  • Exempelsvar - 204 Inget innehåll.
  • { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Användare"], "id": "4", "användarnamn": "användarnamn", "aktiv": , "e-postmeddelanden": [{ "primär": sant, "värde": "exempel@exempel.com", "typ": "arbete", "display": "exempel@exempel.com" }], "meta": { "resurstyp": "Användare" } }
    
        

    För att hämta en befintlig användare, gör en GET-förfrågan till / Users med hjälp av sitt användar-ID.

    GET /Användare/{användar-id}
  • fel:
  • Fel Skick HTTP-statuskod
    Valideringsundantag Antingen är modulen inte aktiverad, eller så används fel licensierad nyckel 400
    Obehörigt undantag Auktoriseringsrubriken är ogiltig eller saknas. 401
    ResursickehittadException Den angivna användaren finns inte. 404
  • Exempelbegäran:
  •     GET /Användare/{användar-id} HTTP/1.1 Auktorisering: Bärare
  • Exempel på svar:
    • 404 Hittades inte.
    •     { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:Error" ], "detail": "Användaren hittades inte", "status": 404 }
      
    • 200 Ok funnen.
    • { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Användare" ], "id": "4", "användarnamn": "användarnamn", "aktiv": 1, "e-postmeddelanden": [ { "primär": sant, "värde": "exempel@exempel.com", "typ": "arbete", "display": "exempel@exempel.com" } ], "meta": { "resurstyp": "Användare" } }
      

    Den här slutpunkten låter dig filtrera och hämta specifika användare från den befintliga användarlistan. Genom att göra en GET-förfrågan till / Users Genom att lägga till filterparametrar kan du begränsa resultaten baserat på attribut som användarnamn och e-postadress. Slutpunkten stöder filtrerade sökningar men kan returnera maximalt 50 användarposter per begäran.

  • fel:
  • Fel Skick HTTP-statuskod
    Valideringsundantag Antingen är modulen inte aktiverad, eller så används fel licensierad nyckel 400
    Obehörigt undantag Auktoriseringsrubriken är ogiltig eller saknas. 401
    ResursickehittadException Den angivna användaren finns inte. 404
    GET /Användare
  • Frågeparametrar:
  • 3.1 Startindex och antal

      Den tillåter startIndex och count som frågeparametrar. Där startIndex är start-ID:t och count är det maximala antalet resultat som frågan kan returnera.

    • Exempelbegäran:
    • GET /Användare?startIndex=1&count=50 Auktorisering: Bärare 
      
    • Exempel på svar:
    • { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 2, "startIndex": 1, "itemsPerPage": 2, "Resurser": [ { "id": "1", "externalId": "1", "meta": { "resourceType": "Användare" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Användare" ], "användarnamn": "example1@example.com", "displayName": "example1@example.com", "emails": { "value": "example1@example.com", "type": "work", "primary": true }, "active": true, "name": { "familjenamn": "", "givetName": "" }, "groups": [ "authenticated,administrator" ], "department": "" }, { "id": "13", "externtId": "13", "meta": { "resurstyp": "Användare" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Användare" ], "användarnamn": "exempel2", "displaynamn": "exempel2", "e-postmeddelanden": { "värde": "exempel2@exempel.com", "typ": "arbete", "primär": sant }, "aktiv": sant, "namn": { "familjenamn": "", "givetnamn": "" }, "grupper": [ "autentiserad,administratör" ], "avdelning": "" }, ] }
      

    3.2 Sök efter en användare med hjälp av deras användarnamn

    • Exempelbegäran:
    •  GET /Användare?filter=användarnamn ekv. "admin" 
    • Exempel på svar:
      • Om användaren inte hittas med användarnamnet skickar vi ett tomt schema som indikerar att ingen användare hittades.
      • Användaren hittades inte - 200 Ok.

        { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 0, "startIndex": 1, "itemsPerPage": 0, "Resurser": [] }
        

        Användare funnen - 200 Ok.

        { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 1, "startIndex": 1, "itemsPerPage": 10, "Resurser": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "användarens uid", "användarnamn": "admin", "e-postmeddelanden": [ { "value": "email@gmail.com", "primary": true, "type": "work" } ] } ] }
        

    3.3 Sök efter användaren via deras e-postadress

    • Exempelbegäran:
    • GET /Användare?filter=e-postmeddelanden[typ eq "arbete"].värde eq "e-post@gmail.com" Auktorisering: Bärare
      
    • Exempel på svar:
      • Om användaren presenterar e-postadressen.
      • Användare funnen - 200 Ok.

        { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 1, "startIndex": 1, "itemsPerPage": 10, "Resurser": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "användarens uid", "username": "Användarnamn", "emails": [ { "value": "email@gmail.com", "primary": true, "type": "work" } ] } ] }
        
        
      • Om användaren inte hittas via e-postmeddelandet skickar modulen ett tomt schema som indikerar att användaren inte hittades.
      • Användaren hittades inte - 200 Ok.

        { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 0, "startIndex": 1, "itemsPerPage": 0, "Resurser": [] }
        
        

Om användaren hittas i GET-begäran kommer en PATCH- eller PUT-begäran att göras för att uppdatera användaren; annars kommer en POST-begäran att göras för att skapa användaren. Du kan uppdatera specifika fält för en användare med hjälp av en LAPPA begäran till / Users slutpunkt. I begäran, inkludera det attribut du vill ändra och dess uppdaterade värde.

PATCH /Användare/{användar-id}
  • fel:
  • Fel Skick HTTP-statuskod
    Valideringsundantag Antingen är modulen inte aktiverad, eller så används fel licensierad nyckel 400
    Obehörigt undantag Auktoriseringsrubriken är ogiltig eller saknas. 401
    ResursickehittadException Den angivna användaren finns inte. 404
  • Exempelbegäran:
  • PATCH/Användare/{{användar-id}} HTTP/1.1 Innehållstyp: application/json Auktorisering: Bearer { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ { "op": "Ersätt", "path": "emails[type eq \"work\"].value", "value": "email@gmail.com" }, { "op": "Ersätt", "path": "namn.familjenamn", "value": "familjenamn" } ] }
    
  • Exempelsvar: 200 OK.
  • { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Användare" ], "id": "användarens uid", "användarnamn": "Användarnamn", "aktiv": 1, "e-postmeddelanden": [ { "primär": sant, "värde": "e-post@gmail.com", "typ": "arbete", "display": "e-post@gmail.com" } ], "meta": { "resurstyp": "Användare" } }
    

Du kan uppdatera en användare med en PUT-förfrågan till / Users slutpunkt. Denna begäran ersätter hela användarobjektet, så alla obligatoriska användarattribut måste anges i brödtexten.

PUT /Användare/{{användar-id}}
  • fel:
  • Fel Skick HTTP-statuskod
    Valideringsundantag Antingen är modulen inte aktiverad, eller så används fel licensierad nyckel 400
    Obehörigt undantag Auktoriseringsrubriken är ogiltig eller saknas. 401
    ResursickehittadException Den angivna användaren finns inte. 404
  • Exempelbegäran:
  • PUT/Användare/{{användar-id}} HTTP/1.1 Innehållstyp: application/json Auktorisering: Bearer { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "97", "användarnamn": "exmple", "active": 1, "e-postmeddelanden": [ { "primary": true, "value": "exmple@example.com", "type": "work", "display": "exmple@example.com" } ], "meta": { "resourceType": "Användare" }, "name": { "givenName": "givenName", "familjenamn": "familjenamn", "middleName": "sdf", "honorificPrefix": "sdf" }, "displayName": "givenName familjenamn", "smickName": "df", "addresses": [ { "primary": true, "locality": "fdd" } ], "locale": "sv-US", "externalId": "9rqltOOLI95d7", "groups": [] }
    
  • Exempelsvar: 200 ok.
  • { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Användare" ], "id": "97", "användarnamn": "exempel", "aktiv": 1, "e-postmeddelanden": [ { "primär": sant, "värde": "exempel@exempel.com", "typ": "arbete", "display": "exempel@exempel.com" } ], "meta": { "resurstyp": "Användare" } }
    

6. Skapa användare (POST)

Använd en POST-förfrågan på / Users slutpunkt för att skapa en ny användare. Se till att inkludera alla nödvändiga fält i begäran. En lyckad begäran returnerar 201 Skapad och användarinformationen.

POST /Användare
  • fel:
  • Fel Skick HTTP-statuskod
    Valideringsundantag Antingen är modulen inte aktiverad, eller så används fel licensierad nyckel 400
    Obehörigt undantag Auktoriseringsrubriken är ogiltig eller saknas. 401
    KonfliktUndantag Användaren finns redan. 409
  • Exempelbegäran:
  • POST /Användare HTTP/1.1 Acceptera: application/json Innehållstyp: application/json Auktorisering: Bearer { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"], "externalId": "abc", "användarnamn": "exempel", "aktiv": sant, "e-postmeddelanden": [{ "primär": sant, "typ": "arbete", "värde": "exempel@exempel.com" }], "meta": { "resurstyp": "Användare" }, "namn": { "formatted": "förnamn efternamn", "familjenamn": "efternamn", "givetnamn": "förnamn" } }
    
  • Exempelsvar: 201 skapad.
  • { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "externalId": "abc", "användarnamn": "exempel", "aktiv": sant, "e-postmeddelanden": [ { "primär": sant, "typ": "arbete", "värde": "exempel@exempel.com" } ], "meta": { "resurstyp": "Användare" }, "namn": { "formatted": "förnamn efternamn", "familjenamn": "efternamn", "givetnamn": "förnamn" }, "id": "98" }
    

Ocuco-landskapet /Grupper Endpoint stöder GET-förfrågningar för att hämta en lista över grupper som är tillgängliga på SCIM-servern. Den här operationen returnerar endast grundläggande gruppinformation, såsom grupp-ID och visningsnamn. Medlemslistan returneras alltid som tom, eftersom endpoint inte inkluderar gruppmedlemskapsinformation i svaret.

  • Exempelbegäran:
  • GET /Groups HTTP/1.1 Auktorisering: Bearer
  • Exempelsvar - 200 ok
  • { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 4, "Resurser": [ { "id": "anonym", "meta": { "resourceType": "Grupp" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Grupp" ], "displayName": "anonym" }, { "id": "authenticated", "meta": { "resourceType": "Grupp" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Grupp" ], "displayName": "authenticated" }, { "id": "administratör", "meta": { "resourceType": "Grupp" }, "schemas": [ ] "urn:ietf:params:scim:schemas:core:2.0:Grupp" ], "displayName": "administratör" }, { "id": "editor_admin", "meta": { "resurstyp": "Grupp" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Grupp" ], "displayName": "editor_admin" } ], "startindex": 1, "objektPerSida": 4 }
    
    
  • Filter som stöds:
  • GET /Groups?filter=displayName ekv "administratör"
  • Exempelbegäran:
  • GET /scim/Groups?filter=displayName eq "administratör" HTTP/1.1 Auktorisering: Bärare
    
  • Exempelsvar: 200 ok.
  • Om en grupp hittas med visningsnamnet.

    { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 0, "Resurser": [], "startIndex": 1, "objektPerSida": 20 }
    

/Grupper/{id} hämtar gruppresursen som är associerad med det angivna grupp-ID:t. Endast gruppens metadata returneras i svaret. Medlemskapsuppgifter ingår inte.

  • Exempelbegäran:
  • GET /Groups/administrator HTTP/1.1 Auktorisering: Bearer
    
  • Exempel på svar:
    • Funnet - 200 OK.

      { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Grupp" ], "id": "administratör", "meta": { "resurstyp": "Grupp" }, "displaynamn": "Administratör" }
      
      

      Inte hittad - 404.

      { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:Error" ], "detail": "Gruppadministratör hittades inte", "status": 404 }
      
      

Använd POST begära att /Grupper för att skapa en ny grupp. Du måste ange ett gruppnamn (displayName). Även om du kan inkludera medlemmar i begäran, kommer svaret alltid att returnera en tom lista över medlemmar.

  • fel:
  • Fel Skick HTTP-statuskod
    Valideringsundantag Antingen är modulen inte aktiverad, eller så används fel licensierad nyckel 400
    Obehörigt undantag Auktoriseringsrubriken är ogiltig eller saknas. 401
    OperationNotStödsException Gruppändring är inte tillåten 501
  • Exempelbegäran:
    • Begäran utan medlemslista inkluderad.
    • POST /Groups HTTP/1.1 Auktorisering: Bearer { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Grupp"], "externtId": "internt-id", "displayName": "grupp2", "meta": { "resurstyp": "Grupp" } }
      
    • Begäran med medlemslista.
    • POST /Grupper HTTP/1.1 Innehållstyp: application/json Auktorisering: Bearer { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Grupp" ], "displayName": "grupp1", "medlemmar": [ { "värde": "3", "display": "admin@gmail.com" }, { "värde": "2", "display": "admin2@gmail.com" } ] }
      
  • Svar: 201 Skapad.
  • { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Grupp" ], "externtId": "internt-id", "displayName": "grupp2", "meta": { "resurstyp": "Grupp" }, "medlemmar": [], "id": "grupp2" }
    

Du kan uppdatera en grupps grundläggande uppgifter, som visningsnamnet, med hjälp av en PATCH-förfrågan för att /Grupper/{grupp-id}Denna begäran uppdaterar endast de attribut du anger och ändrar inte gruppens medlemmar. En lyckad uppdatering returnerar 204 Inget innehåll.

  • Exempelbegäran:
  • PATCH /Grupper/grupp1 HTTP/1.1 Auktorisering: Bärare 
    
    { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operationer": [{ "op": "Ersätt", "path": "displayName", "value": "uppdaterad grupp1" }] }
    
  • Exempelsvar - 204 Inget innehåll.

Ocuco-landskapet /Grupper/{id} Endpoint stöder tillägg och borttagning av medlemmar via en PATCH-begäran. Begäran måste innehålla listan över användar-ID:n som du vill lägga till. Den här åtgärden uppdaterar endast gruppens medlemmar och returnerar 204 Inget innehåll när det lyckas.

  • Exempelbegäran:
    • Lägg till en medlem i gruppen.
    • PATCH /Grupper/uppdaterad grupp1 HTTP/1.1 Innehållstyp: application/json Auktorisering: Bearer { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operationer": [{ "op": "Lägg till", "sökväg": "medlemmar", "värde": [{ "$ref": null, "värde": "97" }] }] }
      
    • Ta bort medlemmen från gruppen.
    • PATCH /Grupper/uppdaterad grupp1 HTTP/1.1 Auktorisering: Bärare { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operationer": [{ "op": "Ta bort", "path": "medlemmar", "value": [{ "$ref": null, "value": "97" }] }] }
      
  • Exempelsvar - 204 Inget innehåll.

Ocuco-landskapet /Grupper/{id} slutpunkten stöder borttagning av en grupp med hjälp av en RADERA begäran. Den här åtgärden tar bort gruppen från SCIM-servern. En lyckad borttagning returnerar en 204 Inget innehåll svar, som anger att gruppen har tagits bort, och ingen svarstext anges.

  • Exempelbegäran:
  • TA BORT /Grupper/uppdaterad grupp1 HTTP/1.1 Auktorisering: Bärare
    
  • Exempelsvar - 204 Inget innehåll.

Om konfigurationen inte lyckades, vänligen kontakta oss på drupalsupport@xecurify.com. Skicka skärmdumpen av felfönstret så hjälper vi dig att lösa problemet och vägleda dig genom installationen.

ADFS_sso ×
Hej där!

Behövs hjälp? Vi är här!

stödja