Go
Go
_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 Go Downloads
success := false
// Provide information about the CSC service and our user ID and client credentials.
jsonCsc := chilkat.NewJsonObject()
jsonCsc.UpdateString("service","CSC")
jsonCsc.UpdateString("baseUrl","https://ras-test.jcc.com.cy/adss/service/ras/csc/v1/")
jsonCsc.UpdateString("userId","YOUR_USER_ID")
jsonCsc.UpdateString("clientId","YOUR_CLIENT_ID")
jsonCsc.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.
cert := chilkat.NewCert()
success = cert.SetCloudSigner(jsonCsc)
if success == false {
fmt.Println(cert.LastErrorText())
jsonCsc.DisposeJsonObject()
cert.DisposeCert()
return
}
jsonCsc.SetEmitCompact(false)
fmt.Println(*jsonCsc.Emit())
// We can do the following to get the credential IDs
i := 0
numIds := jsonCsc.SizeOfArray("credentials_list.credentialIDs")
for i < numIds {
jsonCsc.SetI(i)
cred_id := jsonCsc.StringOf("credentials_list.credentialIDs[i]")
fmt.Println("Credential ID: ", *cred_id)
i = i + 1
}
jsonCsc.DisposeJsonObject()
cert.DisposeCert()