Authenticating to the CREST API Using OIDC

This guide provides a step-by-step process for partners integrating with Higher Logic to authenticate via the Identity Server using OpenID Connect (OIDC) and make authorized requests to the CREST API.

Overview

Higher Logic's token authorization service supports OIDC for secure, standards-based authentication and authorization. Partners should use the authorization_code grant type with PKCE to obtain access tokens that allow authenticated requests to the CREST API.

1. Prerequisites

Before you begin, ensure:

2. OIDC Authorization Flow (PKCE)

Step 1: Build the Authorization Request

Make a GET request in a browser to:

https://[tenantHost]/higherlogic/external/oauth/connect/authorize

With the following query parameters:

This will redirect the user to the tenant's login page and then back to your redirect_uri with a code parameter.

Step 2: Token Request (Backend)

POST to:

https://[tenantHost]/higherlogic/external/oauth/connect/token

With Content-Type: application/x-www-form-urlencoded and the following form fields:

This will return:

3. Making Authorized API Requests

Use the access_token as a Bearer token in the Authorization header to authenticate to CREST.

Make sure to include /higherlogic/external/ as the first segments in the request URL path when addressing API endpoints

✅ Supported Endpoint (Token-Based Auth)

GET https://[tenantHost]/higherlogic/external/api/v2.0/Contacts/GetWhoAmI

Authorization: Bearer {access_token}

This will return the authenticated user's contact information.

⚠️ Not Supported with OIDC Tokens

GET https://[tenantHost]/api/v2.0/Contacts/GetWhoAmI

This endpoint expects a session or HLAuthToken and will return HTML or an error with a bearer token.

4. Refreshing Access Tokens

When the access token expires, use the refresh_token to get a new one:

POST to:

https://[tenantHost]/higherlogic/external/oauth/connect/token

With:

5. Validating Tokens

Tokens are JWTs and should be validated using the tenant's .well-known/openid-configuration endpoint:

https://[tenantHost]/higherlogic/external/oauth/.well-known/openid-configuration

Use the jwks_uri to fetch signing keys.

6. Additional Notes

For help configuring or registering your OIDC client, contact Higher Logic Support.