SCIM 2.0 Examples

The examples below uses the curl and jq command line tools (available on most systems) and are simple examples showing the overall concept. For defined (closed) OpenID Security Domains , Buypass will provide OpenAPI (Swagger) resources with greater detail (on restricted URLs).

Get Access Token

How to retrieving a access (bearer) token from the OAuth2/OIDC server is described here: SCIM 2.0 API authentication and here: token (details will vary with the OpenID Security Domains).

An illustrating example for getting an access token:

BASEURL="https://auth.buypass.no/auth/realms/SECURITYDOMAIN/protocol/openid-connect"; CLIENT_ID="scim-client" CLIENT_SECRET="mysecret" BASIC_AUTH=`echo -n "${CLIENT_ID}:${CLIENT_SECRET}"| base64` SCOPE="scim.data_read scim.data_write" curl -i -w "\n" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Authorization: Basic ${BASIC_AUTH}" \ -X POST "${BASEURL}/token" \ -d "grant_type=client_credentials"\ "&scope=${SCOPE}" | jq # Use ex. the "jq" tool to pick the Access Token and put it in the ACCESS_TOKEN environment variable

Add user using SCIM

USERNAME=someuser MOBILE=+4711223344 curl -d "{\"schemas\":[\"urn:ietf:params:scim:schemas:core:2.0:User\"], \"userName\":\"${USERNAME}\", \"active\":\"true\", \"phoneNumbers\":[{\"value\":\"${MOBILE}\",\"type\":\"mobile\"}] }" \ -H "Content-Type: application/scim+json" \ -H "Authorization: Bearer ${ACCESS_TOKEN}" \ -X POST https://api.buypass.no/SECURITYDOMAIN/scim/v2/Users | jq

Search user using SCIM

USERNAME=someuser curl -X GET "https://api.buypass.no/SECURITYDOMAIN/scim/v2/Users?filter=userName%20eq%20%22${USERNAME}%22" \ -H "accept: application/scim+json" \ -H "Authorization: Bearer ${ACCESS_TOKEN}" | jq

Get user using SCIM

Remove user using SCIM

Â