Unicode C++
Unicode C++
_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 Unicode C++ Downloads
#include <CkJsonObjectW.h>
#include <CkCertW.h>
void ChilkatSample(void)
{
bool success = false;
// Provide information about the CSC service and our user ID and client credentials.
CkJsonObjectW jsonCsc;
jsonCsc.UpdateString(L"service",L"CSC");
jsonCsc.UpdateString(L"baseUrl",L"https://ras-test.jcc.com.cy/adss/service/ras/csc/v1/");
jsonCsc.UpdateString(L"userId",L"YOUR_USER_ID");
jsonCsc.UpdateString(L"clientId",L"YOUR_CLIENT_ID");
jsonCsc.UpdateString(L"clientSecret",L"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.
CkCertW cert;
success = cert.SetCloudSigner(jsonCsc);
if (success == false) {
wprintf(L"%s\n",cert.lastErrorText());
return;
}
jsonCsc.put_EmitCompact(false);
wprintf(L"%s\n",jsonCsc.emit());
// We can do the following to get the credential IDs
int i = 0;
int numIds = jsonCsc.SizeOfArray(L"credentials_list.credentialIDs");
while (i < numIds) {
jsonCsc.put_I(i);
const wchar_t *cred_id = jsonCsc.stringOf(L"credentials_list.credentialIDs[i]");
wprintf(L"Credential ID: %s\n",cred_id);
i = i + 1;
}
}