Visual FoxPro
Visual FoxPro
_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 Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loJsonCsc
LOCAL loCert
LOCAL i
LOCAL lnNumIds
LOCAL lcCred_id
lnSuccess = 0
* Provide information about the CSC service and our user ID and client credentials.
loJsonCsc = CreateObject('Chilkat.JsonObject')
loJsonCsc.UpdateString("service","CSC")
loJsonCsc.UpdateString("baseUrl","https://ras-test.jcc.com.cy/adss/service/ras/csc/v1/")
loJsonCsc.UpdateString("userId","YOUR_USER_ID")
loJsonCsc.UpdateString("clientId","YOUR_CLIENT_ID")
loJsonCsc.UpdateString("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.
loCert = CreateObject('Chilkat.Cert')
lnSuccess = loCert.SetCloudSigner(loJsonCsc)
IF (lnSuccess = 0) THEN
? loCert.LastErrorText
RELEASE loJsonCsc
RELEASE loCert
CANCEL
ENDIF
loJsonCsc.EmitCompact = 0
? loJsonCsc.Emit()
* We can do the following to get the credential IDs
i = 0
lnNumIds = loJsonCsc.SizeOfArray("credentials_list.credentialIDs")
DO WHILE i < lnNumIds
loJsonCsc.I = i
lcCred_id = loJsonCsc.StringOf("credentials_list.credentialIDs[i]")
? "Credential ID: " + lcCred_id
i = i + 1
ENDDO
RELEASE loJsonCsc
RELEASE loCert