Sample code for 30+ languages & platforms
Java

ABN AMRO OAuth2 Client Credentials Authentication

See more ABN AMRO Examples

Demonstrates how to obtain an access token for an ABN AMRO online API using OAuth2 with the Client Credentials flow.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.BinData;
import com.chilkatsoft.chilkat2.Cert;
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpRequest;
import com.chilkatsoft.chilkat2.HttpResponse;
import com.chilkatsoft.chilkat2.JsonObject;
import com.chilkatsoft.chilkat2.PrivateKey;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        // This example sends the following CURL request:

        //     curl -X POST -k https://auth-sandbox.connect.abnamro.com:8443/as/token.oauth2 \
        //     -v \
        //     --cert TPPCertificate.crt \
        //     --key TPPprivateKey.key \
        //     -H 'Cache-Control: no-cache' \
        //     -H 'Content-Type: application/x-www-form-urlencoded' \
        //     -d 'grant_type=client_credentials&client_id=TPP_test&scope=psd2:payment:sepa:write psd2:payment:sepa:read'

        Cert cert = new Cert();
        try {
            cert.loadFromFile("qa_data/certs/TPPCertificate.cer");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        BinData bdKey = new BinData();
        bdKey.loadFile("qa_data/certs/TPPprivateKey.key");

        PrivateKey privKey = new PrivateKey();
        try {
            privKey.loadAnyFormat(bdKey, "passwordIfNeeded");

            cert.setPrivateKey(privKey);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        Http http = new Http();

        try {
            http.setSslClientCert(cert);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        HttpRequest req = new HttpRequest();
        req.addParam("grant_type", "client_credentials");
        req.addParam("client_id", "TPP_test");
        req.addParam("scope", "psd2:payment:sepa:write psd2:payment:sepa:read");

        req.setHttpVerb("POST");
        req.setContentType("application/x-www-form-urlencoded");

        HttpResponse resp = new HttpResponse();
        try {
            http.httpReq("https://auth-sandbox.connect.abnamro.com:8443/as/token.oauth2", req, resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        if (resp.getStatusCode() != 200) {
            System.out.println(resp.getBodyStr());
            return;
        }

        // Get the JSON result:
        // {"access_token":"TIhycwl8rfrZPkXGw15mwldASAAK","token_type":"Bearer","expires_in":7200}
        JsonObject json = new JsonObject();
        json.load(resp.getBodyStr());
        System.out.println("access_token: " + json.stringOf("access_token"));
        System.out.println("token_type: " + json.stringOf("token_type"));
        System.out.println("expires_in: " + json.stringOf("expires_in"));
    }
}