Sample code for 30+ languages & platforms
Rust

_LANGUAGE_ JCC Payment Systems - Get a User's Credential IDs for CSC

See more JCC Cyprus Examples

Demonstrates how to find the credential ids for a given user to be used with remote signing via the CSC (Cloud Signature Consortium) API.

Note: This example requires Chilkat v10.0.2 or greater.

Chilkat Rust Downloads

Rust

// Provide information about the CSC service and our user ID and client credentials.
let json_csc = chilkat::JsonObject::new();

let _ = json_csc.update_string("service", "CSC");
let _ = json_csc.update_string("baseUrl", "https://ras-test.jcc.com.cy/adss/service/ras/csc/v1/");

let _ = json_csc.update_string("userId", "YOUR_USER_ID");
let _ = json_csc.update_string("clientId", "YOUR_CLIENT_ID");
let _ = json_csc.update_string("clientSecret", "YOUR_CLIENT_SECRET");

// The call to SetCloudSigner will do the following internally:
// 1) Calls the "info" endpoint to get information about the remote service and the list of the API methods it supports.
// 2) Calls the "oauth2/token" endpoint to get the OAuth2 authorization token via client credentials (using the clientId and clientSecret).
// 3) Calls the "credentials/list" endpoint to get the list of credentials associated with the userId.
// 4) Calls the "credentials/info" endpoint to retrieve the credential and return the main identity information 
//    and the public key certificate or the certificate chain associated to it.
//    The Chilkat certificate object is loaded with the retrieved certificate.

// The jsonCsc is updated with the information returned from each of the above calls.
let cert = chilkat::Cert::new();
if cert.set_cloud_signer(&json_csc).is_err() {
    println!("{}", cert.last_error_text());
    return;
}

json_csc.set_emit_compact(false);

println!("{}", json_csc.emit().unwrap_or_default());

// We can do the following to get the credential IDs
let mut i = 0;
let num_ids = json_csc.size_of_array("credentials_list.credentialIDs");
while i < num_ids {
    json_csc.set_i(i);
    let cred_id = json_csc.string_of("credentials_list.credentialIDs[i]").unwrap_or_default();
    println!("Credential ID: {}", cred_id);
    i = i + 1;
}