Admin API


Die Admin API stellt Schnittstellen zum Benutzer-, Profil- und Organisations-Management zur Verfügung.

Authentifizierung

Um die Admin APIs aufzurufen, muss in der primedocs.config solch ein Client registriert sein, siehe hierfür primedocs.config.

Nach der Registrierung kann damit ein AccessToken vom IdS angefordert werden.

Dieses PowerShell-Beispiel zeigt den Bezug des AccessTokens:

# Configuration $datasourceId = "b78c3707-d7c7-4fc7-b97f-87d70f63c1ac" $tokenUrl = "https://customerserver.local/ids/connect/token" $clientID = "CustomApiClient" $clientSecret = "CustomClient_Secret_123" $scope = "pd_AdminWebApi" $tokenRequestHeaders = @{ "Content-Type" = "application/x-www-form-urlencoded" } $tokenRequestBody = @{ client_id = $clientID client_secret = $clientSecret grant_type = "client_credentials" scope = $scope } # Request the access token try { $tokenResponse = Invoke-RestMethod -Uri $tokenUrl -Method POST -Headers $tokenRequestHeaders -Body $tokenRequestBody } catch { Write-Error "Error making the request: $_" exit 1; } if (-not $tokenResponse.access_token) { Write-Error "Failed to obtain an access token!" exit 1 } # Access token information Write-Host "Access Token: $($tokenResponse.access_token)" $accessToken = $tokenResponse.access_token

Beispiele

Dieses AccessToken muss bei allen Aufrufen in den Authorization-Header mitgegeben werden. Die API lässt aktuell das Auflisten, Anlegen und Bearbeiten von Benutzern zu. Nachfolgend sind Beispiele zu finden:

Benutzer auflisten

Damit werden vorhandene Benutzer aufgelistet:

# Prepare headers for request $apiRequestHeaders = @{ "Authorization" = "Bearer $accessToken" } Write-Host "Getting users..." $pageSize = Read-Host "Enter pagesize" $page = Read-Host "Enter page" try { $apiUrl = "https://customerserver.local/webapi/api/v3/$($datasourceId)/Admin/Users?pageSize=$($pageSize)&page=$($page)" $response = Invoke-RestMethod -Uri $apiUrl -Method GET -Headers $apiRequestHeaders foreach ($user in $response.data) { Write-Output "$($user.id): '$($user.title)'" } Write-Output "Page: $($response.pagingDetails.page) / $($response.pagingDetails.totalPages)" } catch { Write-Error "Error making the request: $_" exit 1; }

Benutzer-Onboarding

Über diesen Aufruf kann ein neuer Benutzer anhand der SID hinzugefügt werden. Es wird dann automatisch der Benutzer Onboarding & Offboarding Prozess durchlaufen.

# Prepare headers for request $apiRequestHeaders = @{ "Authorization" = "Bearer $accessToken" } $sid = Read-Host "Enter SID" Write-Host "Creating and onboarding user with SID: $sid" try { $apiUrl = "https://customerserver.local/webapi/api/v3/$($datasourceId)/Admin/Users?sid=" + $sid; $user = Invoke-RestMethod -Uri $apiUrl -Method POST -Headers $apiRequestHeaders Write-Output "Onboarded '$($user.title)' with id '$($user.id)'"; } catch { Write-Error "Error making the request: $_" exit 1; }

PowerShell Script

Nachfolgend finden Sie ein vollständiges Beispiel PowerShell Script (für die Version 4.0.20181), welches verschiedene UseCases abdeckt.

Die datasourceId, clientId und clientSecret samt allen Vorkommen der URL https://localhost:.. muss geändert werden auf die Einstellung von Ihrer Umgebung.


Swagger / Open API

Die aktuelle Admin API Open API sieht in der Version 4.0.20171 folgendermassen aus. Sie können diese Beschreibung z.B. über den Swagger Editor visualisieren.

PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland