OAuth Client Credentials Flow - integration guide for developers

Overview

This API is used to get an access token for a client (application), using the OAuth client credentials flow.

To use the API, one method is called. It will return:

- HTTP Status code 200 if request is correct and the client credentials are validated correctly. An access token will be returned.

- HTTP Status code 403 if the request is incorrect or if the client credentials are invalid.

Prerequisites

- PhenixID Authentication Services HTTP API configured for OAuth Client Credentials Flow use case

- Token endpoint URL, client_id and client_secret available (must be given to you by the AS administrator)

- Optional scope value(s) to be used

Token endpoint - api call

Request

Method: HTTP POST

Endpoint: Token endpoint URL
Example: /api/authentication/tenant1/token

Headers:

Name Value
Mandatory Comment
Content-Type application/x-www-form-urlencoded
Yes

Body:

client_id=<value_given_to_you_by_op_provider_admin>&client_secret=<value_given_to_you_by_op_provider_admin>&grant_type=client_credentials
&scope=<optional_scope>

Example request

 

POST /api/authentication/tenant1/token HTTP/1.1
Host: integration.phenixid.se
Content-Type: application/x-www-form-urlencoded
cache-control: no-cache


client_id=myrp&client_secret=ohdarnsecret&grant_type=client_credentials

Response

Response

The HTTP Response status code may have one of these values:

1. 200. Client credentials validated correctly. Body will contain an access_token.

2. 403. Client credentials not validated correctly.

 

The response body JSON structure properties: 

Name Comment
access_token The access token
token_type Bearer

Example response:

HTTP/1.1 200 OK
Content-Type: application/json
{
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjN4eXoiLCJpc3MiOiJodHRwczovL2ludGVncmF0aW9uLnBoZW5peGlkLnNlIiwiaWF0IjoxNTE2MjM5MDIyLCJuYmYiOjE1MTYyMzkwMjIsImV4cCI6MTUxNjIzOTMzMywiYXVkIjoibXlycCJ9.s3VrLnDZrR5P0yCKy2yIFTUsS3pxgXZ3A3thGWFHU4w",
    "token_type": "Bearer"
}