Deprecation Notice
There is a more recent version of this OpenId Connect API available. Learn more.
This endpoint will be removed from service on April 20th 2021.
This is the second of two requests that need to be made to complete the Authorization Code Flow.
In this step the Authorization Code that was returned in step 1 will be exchanged for a token set containing Access, Refresh and ID Tokens.
Note that the access token returned is different to the access token generated via the OAuth 2.0 Tokens API. Therefore it can not be used to authorize API calls against other endpoints such as Users or Events.
Resource URL
https://<region>.onelogin.com/oidc/tokenHeader Parameter
Authorization string | Required if Token Endpoint Authentication Method is set to Basic Set to The e.g. Using Node.js this would be |
Content-Type required string | application/x-www-form-urlencoded |
Resource Parameter
region required string | Set to the
https://openid-connect-eu.onelogin.com/oidc |
Request Parameter
grant_type required string | Set to "authorization_code" |
code required string | The authorization code returned after a successful authentication via the Authorization Flow. |
redirect_uri required string | The redirect uri that is registered with OneLogin for this OpenId Connect app. |
client_id string | The OneLogin generated Client ID for your OpenID Connect app. Required if Token Endpoint Authentication method is set to POST or none (PKCE). |
client_secret string | The OneLogin generated Client Secret for your OpenID Connect app. Required if Token Endpoint Authentication method is set to POST. |
code_verifier string | The plain text string that was sent as the code_challenge in step 1 of the Auth Flow. Required when Token Endpoint Authentication Method is set to none (PKCE). |
Sample Request Body
grant_type=authorization_code&code=xxxxxx&redirect_uri=https://myapp.com/callback
```html
<h2>Sample Response</h2>
<div class="tab-group">
<ul class="tab-links">
<li class="t-link status-200 active" data-tab="1">200 OK</li>
<li class="t-link status-400" data-tab="2">400 Bad Request</li>
<li class="t-link status-401" data-tab="3">401 Unauthorized</li>
</ul>
<div class="tab-views">
<div class="t-view active" data-tab="1">
```json
{
"access_token": "NWE4Nzg2ZDEtNzQyMS00ZDViLThjMjctMGQwNjlmZjU5MWNkBGjFElT7CWzl0d....",
"expires_in": 3600,
"id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkpSY080bnhzNWpnYzhZZE43STJoTE80V...",
"token_type": "Bearer",
"refresh_token": "897987AGBEtNzQyMS00ZDViLThjMjctMGQwNjlmZjU5MWNkBGjFElT7CWzl0d...."
}