Suchergebnisse :

×

Drupal SCIM Server API-Endpunkte

Dieses Dokument beschreibt die SCIM-Endpunkte, die für die Bereitstellung und Deaktivierung von SCIM-Benutzerkonten erforderlich sind. SCIM ist ein Industriestandardprotokoll, mit dem Sie die CRUD-Operationen für Benutzer automatisieren können. ModulenDie Drupal-Website kann dann als SCIM-Server fungieren. Das bedeutet, dass alle Änderungen, die am Identitätsanbieter (d. h. am SCIM-Client) vorgenommen werden, mit der Drupal-Website synchronisiert werden.

  • Protokollversion: SCIM 2.0
  • Basispfad: base_url/scim
  • Unterstützte Ressourcen: Benutzer, Gruppen
  • Datei Format: JSON
  • Zulassung: Inhaber-Token
  • Content-Type: Anwendung / Json
  • Akzeptieren: Anwendung / Json

Folgende API-Operationen werden unterstützt

Benutzerendpunkte

Gruppenendpunkte

    Um einen Benutzer in Drupal zu deaktivieren oder zu löschen, müssen Sie die entsprechenden Einstellungen im Modul aktivieren. Diese Optionen finden Sie auf der Konfigurationsseite des Moduls.

    PATCH /Users/{user-id}
  • Fehler:
  • Fehler Anforderungen HTTP-Status-Code
    Validierungsausnahme Entweder ist das Modul nicht aktiviert oder es wird der falsche Lizenzschlüssel verwendet. 400
    Unautorisierte Ausnahme Der Autorisierungsheader ist ungültig oder fehlt. 401
    ResourceNotFoundException Der angegebene Benutzer existiert nicht. 404
  • Beispielanfrage:
  • PATCH /Users/{user-id} HTTP/1.1 Content-Type: application/json Authorization: Bearer { "Operationen": [ { "op": "Ersetzen", "path": "aktiv", "value": false } ] }
        
  • Beispielantwort - 204 Kein Inhalt.
  • { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"], "id": "4", "userName": "username", "active": , "emails": [{ "primary": true, "value": "example@example.com", "type": "work", "display": "example@example.com" }], "meta": { "resourceType": "User" } }
    
        

    Um einen bestehenden Benutzer abzurufen, senden Sie eine GET-Anfrage an / Benutzer unter Verwendung ihrer Benutzer-ID.

    GET /Users/{user-id}
  • Fehler:
  • Fehler Anforderungen HTTP-Status-Code
    Validierungsausnahme Entweder ist das Modul nicht aktiviert oder es wird der falsche Lizenzschlüssel verwendet. 400
    Unautorisierte Ausnahme Der Autorisierungsheader ist ungültig oder fehlt. 401
    ResourceNotFoundException Der angegebene Benutzer existiert nicht. 404
  • Beispielanfrage:
  •     GET /Users/{user-id} HTTP/1.1 Authorization: Bearer
  • Beispielantwort:
    • 404 Nicht gefunden.
    •     { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:Error" ], "detail": "Benutzer nicht gefunden", "status": 404 }
      
    • 200 OK gefunden.
    • { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "4", "userName": "username", "active": 1, "emails": [ { "primary": true, "value": "example@example.com", "type": "work", "display": "example@example.com" } ], "meta": { "resourceType": "User" } }
      

    Dieser Endpunkt ermöglicht es Ihnen, bestimmte Benutzer aus der bestehenden Benutzerliste zu filtern und abzurufen. Dies geschieht durch eine GET-Anfrage an den / Benutzer Durch Hinzufügen von Filterparametern über den Endpunkt können Sie die Ergebnisse anhand von Attributen wie Benutzername und E-Mail-Adresse eingrenzen. Der Endpunkt unterstützt gefilterte Suchen, kann aber maximal 50 Benutzerdatensätze pro Anfrage zurückgeben.

  • Fehler:
  • Fehler Anforderungen HTTP-Status-Code
    Validierungsausnahme Entweder ist das Modul nicht aktiviert oder es wird der falsche Lizenzschlüssel verwendet. 400
    Unautorisierte Ausnahme Der Autorisierungsheader ist ungültig oder fehlt. 401
    ResourceNotFoundException Der angegebene Benutzer existiert nicht. 404
    GET /Benutzer
  • Abfrageparameter:
  • 3.1 StartIndex und Anzahl

      Es erlaubt die Angabe von startIndex und count als Abfrageparameter. Dabei ist startIndex die Start-ID und count die maximale Anzahl der Ergebnisse, die die Abfrage zurückgeben kann.

    • Beispielanfrage:
    • GET /Users?startIndex=1&count=50 Autorisierung: Bearer 
      
    • Beispielantwort:
    • { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 2, "startIndex": 1, "itemsPerPage": 2, "Resources": [ { "id": "1", "externalId": "1", "meta": { "resourceType": "User" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "userName": "example1@example.com", "displayName": "example1@example.com", "emails": { "value": "example1@example.com", "type": "work", "primary": true }, "active": true, "name": { "familyName": "", "givenName": "" }, "groups": [ "authenticated,administrator" ], "department": "" }, { "id": "13", "externalId": "13", "meta": { "resourceType": "User" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "userName": "example2", "displayName": "example2", "emails": { "value": "example2@example.com", "type": "work", "primary": true }, "active": true, "name": { "familyName": "", "givenName": "" }, "groups": [ "authenticated,administrator" ], "department": "" }, ] }
      

    3.2 Suche nach einem Benutzer anhand seines Benutzernamens

    • Beispielanfrage:
    •  GET /Users?filter=userName eq "admin" 
    • Beispielantwort:
      • Wenn der Benutzer mit dem angegebenen Benutzernamen nicht gefunden wird, senden wir ein leeres Schema, das anzeigt, dass kein Benutzer gefunden wurde.
      • Benutzer nicht gefunden - 200 OK.

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

        Benutzer gefunden - 200 OK.

        { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 1, "startIndex": 1, "itemsPerPage": 10, "Resources": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "Benutzer-ID", "username": "admin", "emails": [ { "value": "email@gmail.com", "primary": true, "type": "work" } ] } ] }
        

    3.3 Suche nach dem Benutzer anhand seiner E-Mail-Adresse

    • Beispielanfrage:
    • GET /Users?filter=emails[type eq "work"].value eq "email@gmail.com" Authorization: Bearer
      
    • Beispielantwort:
      • Wenn der Benutzer die E-Mail vorlegt.
      • Benutzer gefunden - 200 OK.

        { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 1, "startIndex": 1, "itemsPerPage": 10, "Resources": [ { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "uid des Benutzers", "username": "Benutzername", "emails": [ { "value": "email@gmail.com", "primary": true, "type": "work" } ] } ] }
        
        
      • Falls der Benutzer anhand der E-Mail-Adresse nicht gefunden werden kann, sendet das Modul ein leeres Schema, um anzuzeigen, dass der Benutzer nicht gefunden wurde.
      • Benutzer nicht gefunden - 200 OK.

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

Wird der Benutzer in der GET-Anfrage gefunden, wird eine PATCH- oder PUT-Anfrage gesendet, um den Benutzer zu aktualisieren; andernfalls wird eine POST-Anfrage gesendet, um den Benutzer anzulegen. Sie können bestimmte Felder eines Benutzers mithilfe einer PATCH- oder PUT-Anfrage aktualisieren. PATCH Anfrage an die / Benutzer Endpunkt. Fügen Sie im Anfragetext das Attribut, das Sie ändern möchten, und seinen aktualisierten Wert ein.

PATCH /Users/{user-id}
  • Fehler:
  • Fehler Anforderungen HTTP-Status-Code
    Validierungsausnahme Entweder ist das Modul nicht aktiviert oder es wird der falsche Lizenzschlüssel verwendet. 400
    Unautorisierte Ausnahme Der Autorisierungsheader ist ungültig oder fehlt. 401
    ResourceNotFoundException Der angegebene Benutzer existiert nicht. 404
  • Beispielanfrage:
  • PATCH/Users/{{user-id}} HTTP/1.1 Content-Type: application/json Authorization: Bearer { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [ { "op": "Replace", "path": "emails[type eq \"work\"].value", "value": "email@gmail.com" }, { "op": "Replace", "path": "name.familyName", "value": "familyname" } ] }
    
  • Beispielantwort: 200 OK.
  • { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "Benutzer-ID", "userName": "Benutzername", "active": 1, "emails": [ { "primary": true, "value": "email@gmail.com", "type": "work", "display": "email@gmail.com" } ], "meta": { "resourceType": "User" } }
    

Sie können einen Benutzer mithilfe einer PUT-Anfrage an die / Benutzer Dieser Endpunkt ersetzt das gesamte Benutzerobjekt, daher müssen alle erforderlichen Benutzerattribute im Anfragetext angegeben werden.

PUT /Users/{{user-id}}
  • Fehler:
  • Fehler Anforderungen HTTP-Status-Code
    Validierungsausnahme Entweder ist das Modul nicht aktiviert oder es wird der falsche Lizenzschlüssel verwendet. 400
    Unautorisierte Ausnahme Der Autorisierungsheader ist ungültig oder fehlt. 401
    ResourceNotFoundException Der angegebene Benutzer existiert nicht. 404
  • Beispielanfrage:
  • PUT /Users/{{user-id}} HTTP/1.1 Content-Type: application/json Authorization: Bearer { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "97", "userName": "exmple", "active": 1, "emails": [ { "primary": true, "value": "exmple@example.com", "type": "work", "display": "exmple@example.com" } ], "meta": { "resourceType": "User" }, "name": { "givenName": "givenName", "familyName": "familyName", "middleName": "sdf", "honorificPrefix": "sdf" }, "displayName": "givenName familyName", "nickName": "df", "addresses": [ { "primary": true, "locality": "fdd" } ], "locale": "en-US", "externalId": "9rqltOOLI95d7", "Gruppen": [] }
    
  • Beispielantwort: 200 ok.
  • { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ], "id": "97", "userName": "example", "active": 1, "emails": [ { "primary": true, "value": "example@example.com", "type": "work", "display": "example@example.com" } ], "meta": { "resourceType": "User" } }
    

6. Benutzer erstellen (POST)

Verwenden Sie eine POST-Anfrage an die / Benutzer Endpunkt zum Erstellen eines neuen Benutzers. Stellen Sie sicher, dass Sie alle erforderlichen Felder im Anfragetext angeben. Eine erfolgreiche Anfrage liefert den Statuscode 201 Created und die Benutzerdetails zurück.

POST /Users
  • Fehler:
  • Fehler Anforderungen HTTP-Status-Code
    Validierungsausnahme Entweder ist das Modul nicht aktiviert oder es wird der falsche Lizenzschlüssel verwendet. 400
    Unautorisierte Ausnahme Der Autorisierungsheader ist ungültig oder fehlt. 401
    Konfliktausnahme Dieser Benutzer existiert bereits. 409
  • Beispielanfrage:
  • POST /Users HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"], "externalId": "abc", "userName": "example", "active": true, "emails": [{ "primary": true, "type": "work", "value": "example@example.com" }], "meta": { "resourceType": "User" }, "name": { "formatted": "first name last name", "familyName": "last name", "givenName": "first name" } }
    
  • Beispielantwort: 201 erstellt.
  • { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" ], "externalId": "abc", "userName": "example", "active": true, "emails": [ { "primary": true, "type": "work", "value": "example@example.com" } ], "meta": { "resourceType": "User" }, "name": { "formatted": "first name last name", "familyName": "last name", "givenName": "first name" }, "id": "98" }
    

Die /Gruppen Der Endpunkt unterstützt GET-Anfragen zum Abrufen einer Liste der auf dem SCIM-Server verfügbaren Gruppen. Diese Operation liefert lediglich die grundlegenden Gruppeninformationen, wie Gruppen-ID und Anzeigename. Die Mitgliederliste ist immer leer, da der Endpunkt keine Details zur Gruppenmitgliedschaft in die Antwort aufnimmt.

  • Beispielanfrage:
  • GET /Groups HTTP/1.1 Authorization: Bearer
  • Beispielantwort – 200 OK
  • { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:ListResponse" ], "totalResults": 4, "Resources": [ { "id": "anonymous", "meta": { "resourceType": "Group" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "displayName": "anonymous" }, { "id": "authenticated", "meta": { "resourceType": "Group" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "displayName": "authenticated" }, { "id": "administrator", "meta": { "resourceType": "Group" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "displayName": "administrator" }, { "id": "editor_admin", "meta": { "resourceType": "Group" }, "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "displayName": "editor_admin" } ], "startIndex": 1, "itemsPerPage": 4 }
    
    
  • Unterstützter Filter:
  • GET /Groups?filter=displayName eq "administrator"
  • Beispielanfrage:
  • GET /scim/Groups?filter=displayName eq "administrator" HTTP/1.1 Authorization: Bearer
    
  • Beispielantwort: 200 ok.
  • Wenn eine Gruppe mit dem angegebenen Anzeigenamen gefunden wird.

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

/Groups/{id} Ruft die Gruppenressource ab, die der angegebenen Gruppen-ID zugeordnet ist. Die Antwort enthält ausschließlich die Metadaten der Gruppe. Details zur Gruppenmitgliedschaft sind nicht enthalten.

  • Beispielanfrage:
  • GET /Groups/administrator HTTP/1.1 Authorization: Bearer
    
  • Beispielantwort:
    • Gefunden - 200 OK.

      { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "id": "administrator", "meta": { "resourceType": "Group" }, "displayName": "Administrator" }
      
      

      Nicht gefunden - 404.

      { "schemas": [ "urn:ietf:params:scim:api:messages:2.0:Error" ], "detail": "Gruppenadministrator nicht gefunden", "status": 404 }
      
      

Verwenden jetzt lesen Anfrage zu /Gruppen Um eine neue Gruppe zu erstellen, müssen Sie einen Gruppennamen (displayName) angeben. Obwohl Sie Mitglieder im Anfragetext angeben können, liefert die Antwort immer eine leere Mitgliederliste.

  • Fehler:
  • Fehler Anforderungen HTTP-Status-Code
    Validierungsausnahme Entweder ist das Modul nicht aktiviert oder es wird der falsche Lizenzschlüssel verwendet. 400
    Unautorisierte Ausnahme Der Autorisierungsheader ist ungültig oder fehlt. 401
    OperationNotSupportedException Gruppenänderungen sind nicht zulässig. 501
  • Beispielanfrage:
    • Anfrage ohne Angabe einer Mitgliederliste.
    • POST /Groups HTTP/1.1 Authorization: Bearer { "schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"], "externalId": "enternal-id", "displayName": "group2", "meta": { "resourceType": "Group" } }
      
    • Anfrage mit Mitgliederliste.
    • POST /Groups HTTP/1.1 Content-Type: application/json Authorization: Bearer { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "displayName": "group1", "members": [ { "value": "3", "display": "admin@gmail.com" }, { "value": "2", "display": "admin2@gmail.com" } ] }
      
  • Antwort: 201 erstellt.
  • { "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ], "externalId": "enternal-id", "displayName": "group2", "meta": { "resourceType": "Group" }, "members": [], "id": "group2" }
    

Sie können die grundlegenden Details einer Gruppe, wie zum Beispiel den Anzeigenamen, mithilfe einer PATCH-Anfrage aktualisieren. /Groups/{group-id}Diese Anfrage aktualisiert nur die von Ihnen angegebenen Attribute und ändert nicht die Gruppenmitglieder. Eine erfolgreiche Aktualisierung gibt den Statuscode 204 (Kein Inhalt) zurück.

  • Beispielanfrage:
  • PATCH /Groups/group1 HTTP/1.1 Authorization: Bearer 
    
    { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [{ "op": "Replace", "path": "displayName", "value": "updated group1" }] }
    
  • Beispielantwort - 204 Kein Inhalt.

Die /Groups/{id} Der Endpunkt unterstützt das Hinzufügen und Entfernen von Mitgliedern über eine PATCH-Anfrage. Der Anfragetext muss die Liste der hinzuzufügenden Benutzer-IDs enthalten. Diese Aktion aktualisiert ausschließlich die Gruppenmitglieder und gibt bei Erfolg den Statuscode 204 (Kein Inhalt) zurück.

  • Beispielanfrage:
    • Füge ein Mitglied zur Gruppe hinzu.
    • PATCH /Groups/updated group1 HTTP/1.1 Content-Type: application/json Authorization: Bearer { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [{ "op": "Add", "path": "members", "value": [{ "$ref": null, "value": "97" }] }] }
      
    • Das Mitglied wird aus der Gruppe entfernt.
    • PATCH /Groups/updated group1 HTTP/1.1 Authorization: Bearer { "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"], "Operations": [{ "op": "Remove", "path": "members", "value": [{ "$ref": null, "value": "97" }] }] }
      
  • Beispielantwort - 204 Kein Inhalt.

Die /Groups/{id} Der Endpunkt unterstützt das Löschen einer Gruppe mithilfe eines LÖSCHEN Anfrage. Dieser Vorgang entfernt die Gruppe vom SCIM-Server. Eine erfolgreiche Löschung gibt eine Antwort zurück. 204 Kein Inhalt Die Antwort weist darauf hin, dass die Gruppe gelöscht wurde; ein Antworttext wird nicht angegeben.

  • Beispielanfrage:
  • LÖSCHEN /Groups/updated group1 HTTP/1.1 Authorization: Bearer
    
  • Beispielantwort - 204 Kein Inhalt.

Wenn die Konfiguration nicht erfolgreich war, kontaktieren Sie uns bitte unter drupalsupport@xecurify.com. Bitte senden Sie den Screenshot des Fehlerfensters. Wir helfen Ihnen dann bei der Lösung des Problems und führen Sie durch die Einrichtung.

ADFS_sso ×
Hallo!

Brauchen Sie Hilfe? Wir sind hier!

Unterstützung