Authentication
Discusses the workflow of authenticating and retrieving a bearer token in order to use Betterview's API.
Authentication Workflow
Betterview uses Auth0 to provide for bearer token auth. The auth workflow with Betterview's API works with the following steps:
- Make a call to Betterview's Auth0 endpoint at the endpoint: https://betterview.auth0.com/oauth/token
- Receive a Token back in the response.
- Use that token, until expiration. The expiration date will be for 24 hours and is included in the token response.
The API reference has lots of references on how to apply the bearer token. Basically, one creates an authorization header that looks something like this:
Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik4wSkdNVE0yT1VaRU9FRXdSVEJFTlVRM1FrTXlNalkxUmpnMVJUTTNNakJCTURSQk56QkNNZyJ9...
The Token Retrieval Request
Regarding receiving a token, one must be granted a Client ID and Secret from Betterview. To get a secret and API key, contact Betterview. From there, the following example demos how to retrieve a token.
curl --request POST \
--url https://betterview.auth0.com/oauth/token \
--header 'content-type: application/json' \
--data '{"client_id":"<Client ID Here>","client_secret":"<Client Secret Here>","audience":"https://api.betterview.net","grant_type":"client_credentials"}'
More documentation on this initial request can be seen at Auth0: https://auth0.com/docs/api/authentication#get-token
The Token Retrieval Response
Once a token has been requested, the response should look something like this:
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlJEQTFNRFV5UWpRM1JqZ3lSamRGUlVNNE1VWTNPVEV4UTBVMVF6ZEJOVU0yUmprd01VTkZRUSJ9...",
"expires_in": 86400,
"token_type": "Bearer"
}
- The field,
access_token
is the string that one needs to make requests. The string has, largely, been redacted here to save space. - The field,
expires_in
is how long, in seconds, before the token expires. To save opening a calculator, 86400 seconds = 24 hours. - The field
token_type
just indicates that the token should be used with Bearer authentication.
General Notes
Please, help Betterview out by storing the auth token somewhere and using it for the 24 hours before it expires. If this isn't done, and the API hits are frequent enough, we may come back and ask to have the token stored somewhere.
Updated about 2 years ago