Generate an access token and refresh token
curl 'https://api.us.onelogin.com/auth/oauth2/v2/token' \
-X POST \
-u onelogin_client_id:onelogin_client_secret \
-H "Content-Type: application/json" \
-d '{
"grant_type":"client_credentials"
}'
LOCAL loRest
LOCAL lnSuccess
LOCAL lnBTls
LOCAL lnPort
LOCAL lnBAutoReconnect
LOCAL loJson
LOCAL loSbRequestBody
LOCAL loSbResponseBody
LOCAL lnRespStatusCode
LOCAL loJsonResponse
LOCAL lcAccess_token
LOCAL lcCreated_at
LOCAL lnExpires_in
LOCAL lcRefresh_token
LOCAL lcToken_type
LOCAL lnAccount_id
loRest = CreateObject('Chilkat_9_5_0.Rest')
* URL: https://api.us.onelogin.com/auth/oauth2/v2/token
lnBTls = 1
lnPort = 443
lnBAutoReconnect = 1
lnSuccess = loRest.Connect("api.us.onelogin.com",lnPort,lnBTls,lnBAutoReconnect)
IF (lnSuccess <> 1) THEN
? "ConnectFailReason: " + STR(loRest.ConnectFailReason)
? loRest.LastErrorText
RELEASE loRest
CANCEL
ENDIF
loRest.SetAuthBasic("onelogin_client_id","onelogin_client_secret")
loJson = CreateObject('Chilkat_9_5_0.JsonObject')
loJson.UpdateString("grant_type","client_credentials")
loRest.AddHeader("Content-Type","application/json")
loSbRequestBody = CreateObject('Chilkat_9_5_0.StringBuilder')
loJson.EmitSb(loSbRequestBody)
loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
lnSuccess = loRest.FullRequestSb("POST","/auth/oauth2/v2/token",loSbRequestBody,loSbResponseBody)
IF (lnSuccess <> 1) THEN
? loRest.LastErrorText
RELEASE loRest
RELEASE loJson
RELEASE loSbRequestBody
RELEASE loSbResponseBody
CANCEL
ENDIF
lnRespStatusCode = loRest.ResponseStatusCode
IF (lnRespStatusCode >= 400) THEN
? "Response Status Code = " + STR(lnRespStatusCode)
? "Response Header:"
? loRest.ResponseHeader
? "Response Body:"
? loSbResponseBody.GetAsString()
RELEASE loRest
RELEASE loJson
RELEASE loSbRequestBody
RELEASE loSbResponseBody
CANCEL
ENDIF
loJsonResponse = CreateObject('Chilkat_9_5_0.JsonObject')
loJsonResponse.LoadSb(loSbResponseBody)
lcAccess_token = loJsonResponse.StringOf("access_token")
lcCreated_at = loJsonResponse.StringOf("created_at")
lnExpires_in = loJsonResponse.IntOf("expires_in")
lcRefresh_token = loJsonResponse.StringOf("refresh_token")
lcToken_type = loJsonResponse.StringOf("token_type")
lnAccount_id = loJsonResponse.IntOf("account_id")
RELEASE loRest
RELEASE loJson
RELEASE loSbRequestBody
RELEASE loSbResponseBody
RELEASE loJsonResponse
{
"access_token": "e06720cf50b8d46185a88b499b451310b24bc86334b1251d7ea558fffec31906",
"created_at": "2018-04-16T21:20:42.259Z",
"expires_in": 36000,
"refresh_token": "a7155d23818dc83624160542972b0f52672ee3b518cf92c441f7583e39c741ea",
"token_type": "bearer",
"account_id": 135150
}