Rust
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
// 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;
}