Sample code for 30+ languages & platforms
Node.js

Isabel Connect Revoke Access Token

See more Ibanity Examples

Revokes an access token.

Chilkat Node.js Downloads

Node.js
NODEJS_PRELUDE

function chilkatExample() {

    var success = false;

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    var http = new chilkat.Http();

    // // 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.)
    var cert = new chilkat.Cert();
    success = cert.LoadPfxFile("qa_data/pfx/my_ibanity_certificate.pfx","my_pfx_password");
    if (success == false) {
        console.log(cert.LastErrorText);
        return;
    }

    success = http.SetSslClientCert(cert);
    if (success == false) {
        console.log(http.LastErrorText);
        return;
    }

    var req = new chilkat.HttpRequest();
    req.HttpVerb = "POST";
    req.Path = "/isabel-connect/oauth2/revoke";
    req.ContentType = "application/x-www-form-urlencoded";

    // Load the previously obtained access token.
    var jsonToken = new chilkat.JsonObject();
    success = jsonToken.LoadFile("qa_data/tokens/isabel_access_token.json");
    if (success == false) {
        console.log("No existing access token.");
        return;
    }

    req.AddParam("token",jsonToken.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.
    req.AddParam("client_id","valid_client_id");
    req.AddParam("client_secret","valid_client_secret");

    req.AddHeader("Accept","application/vnd.api+json");

    var resp = new chilkat.HttpResponse();
    success = http.HttpReq("https://api.ibanity.com/isabel-connect/oauth2/revoke",req,resp);
    if (success == false) {
        console.log(http.LastErrorText);
        return;
    }

    var sbResponseBody = new chilkat.StringBuilder();
    resp.GetBodySb(sbResponseBody);

    var respStatusCode = resp.StatusCode;
    console.log("Response Status Code = " + respStatusCode);
    if (respStatusCode >= 400) {
        console.log("Response Header:");
        console.log(resp.Header);
        console.log("Failed.");
        return;
    }

    console.log("Response Body:");
    console.log(sbResponseBody.GetAsString());

    // If successful, the response status code = 200, and the response body is "{}"

}

chilkatExample();