Zum Hauptinhalt springen
Bevor Sie einen Client erstellen, müssen Sie in der Vantage-API authentifiziert sein. Weitere Informationen finden Sie unter Authentication.

Erstellen eines Clients

Um einen Client zu erstellen, senden Sie eine POST-Anfrage mit dem Header Authorization = Bearer <access token> an {baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/ und den folgenden Request-Body-Parametern:
ParameterBeschreibung
clientIdDie Kennung des Clients.
clientNameDer Name des Clients (z. B. der Name Ihrer App).
allowOfflineAccessGibt an, ob zusammen mit dem Access Token ein Refresh Token generiert wird, den die Anwendung verwenden kann, um das Access Token automatisch ohne Benutzerinteraktion zu aktualisieren. Standardmäßig auf False gesetzt.
allowRememberConsentGibt an, ob der Benutzer Zustimmungsentscheidungen speichern darf. Standardmäßig auf True gesetzt.
backChannelLogoutSessionRequiredGibt an, ob der Backchannel-Logout-Mechanismus erforderlich ist. Standardmäßig auf True gesetzt.
requireClientSecretGibt an, ob ein Client-Secret erforderlich ist. Standardmäßig auf True gesetzt.
requireConsentGibt an, ob ein Zustimmungsbildschirm erforderlich ist. Standardmäßig auf False gesetzt.
allowNoPkceGibt an, ob das Authentifizierungsverfahren Authorization Code Flow with Proof Key for Code Exchange (PKCE) zulässig ist. Standardmäßig auf False gesetzt, wodurch nur das Authentifizierungsverfahren Authorization Code Flow with Proof Key for Code Exchange (PKCE) zulässig ist.
allowedGrantTypesGibt die zulässigen Grant-Typen an.
allowedCorsOriginsGibt an, ob der Standardmechanismus für Cross-Origin Resource Sharing (CORS) verwendet wird.
allowedScopesDefiniert eine Menge von Ressourcen und Benutzerdaten, die im Token übertragen werden sollen. Der Scope-Wert muss exakt “openid permissions publicapi.all” sein.
postLogoutRedirectUrisEine Liste zulässiger URIs für die Weiterleitung nach dem Logout.
redirectUrisEine Liste von Websites oder App-URLs, die für Weiterleitungen von Autorisierungstokens zugelassen sind. Präfixe sind für die URL erlaubt. Wenn das Präfix übereinstimmt, ist jede URL zulässig, zum Beispiel: [ “https://myDomain.”, “https://myApp.myDomain.com/oauth-signin.html” ].
Wichtig! Bei der Authentifizierung mit Resource Owner Password Credentials müssen Sie den Parameter allowRopc auf TRUE setzen. Beachten Sie, dass dieses Authentifizierungsverfahren voraussetzt, dass der Benutzer seine Anmeldedaten an die Anwendung übermittelt. Daher wird empfohlen, ROPC nur zu verwenden, wenn ein vertrauenswürdiger, vertraulicher Client authentifiziert ist. Beispielanfrage:

Unter Windows

curl --location --request POST "{baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/" 
-H "accept: application/json" \
-H "Authorization: Bearer {token}"
{ 
  "clientId": "{clientId}",
  "clientName": "{clientName}", 
  "allowOfflineAccess": true,
  "allowRememberConsent": true,
  "backChannelLogoutSessionRequired": true,
  "requireClientSecret": true,    
  "requireConsent": false,  
  "allowNoPkce": true, 
  "allowedGrantTypes": [    
    "{allowedGrantTypes}"  
  ],
  "allowedCorsOrigins": [
    "{allowedCorsOrigins}"
  ],
  "allowedScopes": [ 
    "openid",
    "permissions",
    "publicapi.all" 
  ] 
  "postLogoutRedirectUris": [
     "{postLogoutRedirectUris}"
  ], 
  "redirectUris": [ 
    "{redirectUris}" 
  ]
}

Unter Linux

curl --location --request POST '{baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/'
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}'
{ 
  'clientId': '{clientId}',
  'clientName': '{clientName}', 
  'allowOfflineAccess': true,
  'allowRememberConsent': true,
  'backChannelLogoutSessionRequired': true,
  'requireClientSecret': true,    
  'requireConsent': false,  
  'allowNoPkce': true, 
  'allowedGrantTypes': [    
    '{allowedGrantTypes}'  
  ],
  'allowedCorsOrigins': [
    '{allowedCorsOrigins}'
  ],
  'allowedScopes': [ 
    'openid',
    'permissions',
    'publicapi.all' 
  ] 
  'postLogoutRedirectUris': [
     '{postLogoutRedirectUris}'
  ], 
  'redirectUris': [ 
    '{redirectUris}' 
  ]
}
Die Antwort des Servers enthält eine Beschreibung des erstellten Clients.

Erstellen eines Secrets

Jeder Client kann mehrere Secrets haben. Dadurch kann der Client nach Ablauf des aktuellen Secrets ein neues verwenden, ohne das alte zu löschen. Standardmäßig läuft ein Client-Secret nach sechs Monaten ab. Um ein Secret zu erstellen, senden Sie eine POST-Anfrage mit dem Header Authorization = Bearer <access token> an {baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/{clientId}/secrets/ mit den folgenden Request-Body-Parametern:
ParameterBeschreibung
descriptionEine Beschreibung des Client-Secrets. Dies kann ein kurzer Kommentar sein, der Ihnen hilft, die Secrets zu unterscheiden. Dies ist ein optionaler Parameter.
start timeGibt das Startdatum des Secrets an.
expirationGibt das Ablaufdatum des Secrets an (zwischen 1 Tag und 3 Jahren), z. B. „2021-09-07T13:03:38.380Z“. Standardmäßig wird dieses Datum genau sechs Monate nach dem Erstellungsdatum des Secrets festgelegt.
Beispielanfrage:

Unter Windows

curl --location --request POST "{baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/{clientId}/secrets/"
-H "accept: application/json" \
-H "Authorization: Bearer {token}"
-H "Content-Type: application/json-patch+json" \ 
-d 
{ 
  "description": "{description}",
  "startTime": "{startTime}"
  "expiration": "{expiration}" 
}

Für Linux

curl --location --request POST '{baseUrl}/api/adminapi2/v1/tenants/{tenantId}/clients/{clientId}/secrets/'
-H 'accept: application/json' \
-H 'Authorization: Bearer {token}'
-H 'Content-Type: application/json-patch+json' \ 
-d 
{ 
  'description': '{description}',
  'startTime': '{startTime}'
  'expiration': '{expiration}' 
}
Die Antwort des Servers auf Ihre Anfrage enthält ein Client-Secret („value“) und dessen Gültigkeitszeitraum („startTime“, „expiration“). Wichtig! Der Wert des Client-Secrets ist nur zum Zeitpunkt der Erstellung verfügbar. Bewahren Sie ihn sicher auf, um den Zugriff auf einen Client über dessen Secret nicht zu verlieren. Später können Sie nur noch die ersten drei Zeichen des Client-Secret-Werts sehen („valueDisplay“).