SCIM API Documentation

Authentifizierung

Bearer Token Authentifizierung

Alle SCIM-API-Anfragen müssen ein gültiges JWT-Bearer-Token im Header enthalten:

Authorization: Bearer <ihr-jwt-token>

Hinweis: Die folgenden Discovery-Endpunkte erfordern keine Authentifizierung:

  • /ResourceTypes
  • /Schemas
  • /ServiceProviderConfig

Token-Anforderungen

Ihr JWT muss enthalten:

  • tenant: Ihre Flip Organisations-ID
  • exp: Ablaufzeitpunkt des Tokens
{
  "tenant": "ihre-organisations-id",
  "exp": 1234567890
}

SCIM-Attribut-Zuordnungen

Kernattribute

SCIM Attribut Flip-Feld Beschreibung Erforderlich
userName username Anmeldename Ja
name.givenName firstName Vorname Ja
name.familyName lastName Nachname Ja
displayName displayName Anzeige-Name (von Flip generiert) Nein
emails[type="work"] email Berufliche E-Mail-Adresse Nein
active status Status: aktiv/gesperrt Nein
externalId externalId Externe ID aus Ihrem System Nein

Kontakt & Abteilung

SCIM Attribut Flip-Feld
title job_title
phoneNumbers[type="work"] phone_number
phoneNumbers[type="mobile"] mobile_number
enterpriseUser.department department

Flip SCIM-Erweiterungen

Standort-Erweiterung

"urn:ietf:params:scim:schemas:extension:flip:location:2.0:User": {
  "value": "Büro Berlin"
}

„Über mich“-Erweiterung

"urn:ietf:params:scim:schemas:extension:flip:aboutMe:2.0:User": {
  "value": "Produktmanager mit Fokus auf mobile Erlebnisse"
}

Benutzerdefinierte Attribut-Erweiterung

"urn:ietf:params:scim:schemas:extension:flip:custom:2.0:User": {
  "attributes": [
    { "technicalName": "employee_id", "value": "EMP123456" },
    { "technicalName": "cost_center", "value": "CC-100" }
  ]
}

⚠️ Hinweis: Benutzerdefinierte Attribute müssen zuvor in der Flip Admin Console angelegt werden.

Custom JSON Extension (Entra Workaround)

Schema URN: urn:ietf:params:scim:schemas:extension:flip:customJson:2.0:User
Eigenschaft: writeOnly (nicht sichtbar in GET/Read Responses)

Diese Extension erlaubt es, Custom Attributes als raw JSON (String) zu senden. Sie ist insbesondere als Workaround für Microsoft Entra gedacht, da Entra bei der initialen Provisionierung komplexe Attribute nicht zuverlässig mitsendet (Microsoft Source).

Request-Beispiel:

{
  "urn:ietf:params:scim:schemas:extension:flip:customJson:2.0:User": {
    "value": "{\"attributes\":[{\"technicalName\":\"employee_id\",\"value\":\"EMP123456\"},{\"technicalName\":\"cost_center\",\"value\":\"CC-100\"}]}"
  }
}

Merge-Verhalten:

  • Die Werte aus customJson werden in die bestehende Custom-Extension urn:ietf:params:scim:schemas:extension:flip:custom:2.0:User übernommen.
  • Wenn im selben Request sowohl ...:custom...:attributes als auch customJson gesetzt ist, hat attributes Vorrang (attributes takes precedence).

Hinweis: Da customJson writeOnly ist, wird sie nicht in Read-Responses zurückgegeben. Identity Provider können diesen Teil daher nicht über „read back + diff“ validieren.

 

Beispiel: SCIM-Nutzer-Request

{
  "schemas": [
    "urn:ietf:params:scim:schemas:core:2.0:User",
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
    "urn:ietf:params:scim:schemas:extension:flip:location:2.0:User",
    "urn:ietf:params:scim:schemas:extension:flip:aboutMe:2.0:User",
    "urn:ietf:params:scim:schemas:extension:flip:custom:2.0:User"
  ],
  "userName": "john.doe@firma.com",
  "name": {
    "givenName": "John",
    "familyName": "Doe"
  },
  "displayName": "John Doe",
  "emails": [
    {
      "value": "john.doe@firma.com",
      "type": "work"
    }
  ],
  "phoneNumbers": [
    {
      "value": "+49 30 12345678",
      "type": "work"
    },
    {
      "value": "+49 170 9876543",
      "type": "mobile"
    }
  ],
  "title": "Senior Produktmanager",
  "active": true,
  "externalId": "emp-12345",
  "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
    "department": "Produktmanagement"
  },
  "urn:ietf:params:scim:schemas:extension:flip:location:2.0:User": {
    "value": "HQ Berlin"
  },
  "urn:ietf:params:scim:schemas:extension:flip:aboutMe:2.0:User": {
    "value": "Begeistert von digitalen Produkten"
  },
  "urn:ietf:params:scim:schemas:extension:flip:custom:2.0:User": {
    "attributes": [
      {
        "technicalName": "employee_number",
        "value": "DE-2024-001"
      }
    ]
  }
}

 

API-Endpunkte

Service Discovery

Endpoint Methode Beschreibung
/ServiceProviderConfig GET Konfiguration & Fähigkeiten
/Schemas GET Unterstützte Schemas
/ResourceTypes GET Ressourcentypen (z. B. Nutzer)

Nutzerverwaltung

Endpoint Methode Beschreibung
/Users GET Nutzer auflisten oder filtern
/Users POST Neuen Nutzer anlegen
/Users/{id} GET Details eines Nutzers
/Users/{id} PUT Komplette Aktualisierung
/Users/{id} PATCH Partielle Aktualisierung
/Users/{id} DELETE Nutzer soft-löschen

War dieser Beitrag hilfreich?

0 von 0 fanden dies hilfreich

Haben Sie Fragen? Anfrage einreichen