Lianja
Lianja
Isabel Connect Revoke Access Token
See more Ibanity Examples
Revokes an access token.Chilkat Lianja Downloads
llSuccess = .F.
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loHttp = createobject("CkHttp")
// // Implements the following CURL command:
//
// curl -X POST https://api.ibanity.com/isabel-connect/oauth2/revoke \
// --cert certificate.pem:qwertyuiop1 \
// --key private_key.pem \
// -H "Content-Type: application/x-www-form-urlencoded" \
// -H "Accept: application/vnd.api+json" \
// -d token=8787 \
// -d client_id=valid_client_id \
// -d client_secret=valid_client_secret
// Ibanity provides the certificate + private key in PFX format. This example will use the .pfx instead of the pair of PEM files.
// (It is also possible to implement using Chilkat with the PEM files, but PFX is easier.)
loCert = createobject("CkCert")
llSuccess = loCert.LoadPfxFile("qa_data/pfx/my_ibanity_certificate.pfx","my_pfx_password")
if (llSuccess = .F.) then
? loCert.LastErrorText
release loHttp
release loCert
return
endif
llSuccess = loHttp.SetSslClientCert(loCert)
if (llSuccess = .F.) then
? loHttp.LastErrorText
release loHttp
release loCert
return
endif
loReq = createobject("CkHttpRequest")
loReq.HttpVerb = "POST"
loReq.Path = "/isabel-connect/oauth2/revoke"
loReq.ContentType = "application/x-www-form-urlencoded"
// Load the previously obtained access token.
loJsonToken = createobject("CkJsonObject")
llSuccess = loJsonToken.LoadFile("qa_data/tokens/isabel_access_token.json")
if (llSuccess = .F.) then
? "No existing access token."
release loHttp
release loCert
release loReq
release loJsonToken
return
endif
loReq.AddParam("token",loJsonToken.StringOf("access_token"))
// Note: For sandbox testing, we literally want to use the strings
// "valid_client_id", and "valid_client_secret".
// For the live app, you would replace these with actual values.
loReq.AddParam("client_id","valid_client_id")
loReq.AddParam("client_secret","valid_client_secret")
loReq.AddHeader("Accept","application/vnd.api+json")
loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpReq("https://api.ibanity.com/isabel-connect/oauth2/revoke",loReq,loResp)
if (llSuccess = .F.) then
? loHttp.LastErrorText
release loHttp
release loCert
release loReq
release loJsonToken
release loResp
return
endif
loSbResponseBody = createobject("CkStringBuilder")
loResp.GetBodySb(loSbResponseBody)
lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + str(lnRespStatusCode)
if (lnRespStatusCode >= 400) then
? "Response Header:"
? loResp.Header
? "Failed."
release loHttp
release loCert
release loReq
release loJsonToken
release loResp
release loSbResponseBody
return
endif
? "Response Body:"
? loSbResponseBody.GetAsString()
// If successful, the response status code = 200, and the response body is "{}"
release loHttp
release loCert
release loReq
release loJsonToken
release loResp
release loSbResponseBody