Swift
Swift
Isabel Connect Revoke Access Token
See more Ibanity Examples
Revokes an access token.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let http = CkoHttp()!
// // 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.)
let cert = CkoCert()!
success = cert.loadPfxFile(path: "qa_data/pfx/my_ibanity_certificate.pfx", password: "my_pfx_password")
if success == false {
print("\(cert.lastErrorText!)")
return
}
success = http.setSslClientCert(cert: cert)
if success == false {
print("\(http.lastErrorText!)")
return
}
let req = CkoHttpRequest()!
req.httpVerb = "POST"
req.path = "/isabel-connect/oauth2/revoke"
req.contentType = "application/x-www-form-urlencoded"
// Load the previously obtained access token.
let jsonToken = CkoJsonObject()!
success = jsonToken.loadFile(path: "qa_data/tokens/isabel_access_token.json")
if success == false {
print("No existing access token.")
return
}
req.addParam(name: "token", value: jsonToken.string(of: "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.
req.addParam(name: "client_id", value: "valid_client_id")
req.addParam(name: "client_secret", value: "valid_client_secret")
req.addHeader(name: "Accept", value: "application/vnd.api+json")
let resp = CkoHttpResponse()!
success = http.httpReq(url: "https://api.ibanity.com/isabel-connect/oauth2/revoke", request: req, response: resp)
if success == false {
print("\(http.lastErrorText!)")
return
}
let sbResponseBody = CkoStringBuilder()!
resp.getBodySb(sb: sbResponseBody)
var respStatusCode: Int = resp.statusCode.intValue
print("Response Status Code = \(respStatusCode)")
if respStatusCode >= 400 {
print("Response Header:")
print("\(resp.header!)")
print("Failed.")
return
}
print("Response Body:")
print("\(sbResponseBody.getAsString()!)")
// If successful, the response status code = 200, and the response body is "{}"
}