Sample code for 30+ languages & platforms
Swift

_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 Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    // Provide information about the CSC service and our user ID and client credentials.
    let jsonCsc = CkoJsonObject()!

    jsonCsc.updateString(jsonPath: "service", value: "CSC")
    jsonCsc.updateString(jsonPath: "baseUrl", value: "https://ras-test.jcc.com.cy/adss/service/ras/csc/v1/")

    jsonCsc.updateString(jsonPath: "userId", value: "YOUR_USER_ID")
    jsonCsc.updateString(jsonPath: "clientId", value: "YOUR_CLIENT_ID")
    jsonCsc.updateString(jsonPath: "clientSecret", value: "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 = CkoCert()!
    success = cert.setCloudSigner(json: jsonCsc)
    if success == false {
        print("\(cert.lastErrorText!)")
        return
    }

    jsonCsc.emitCompact = false

    print("\(jsonCsc.emit()!)")

    // We can do the following to get the credential IDs
    var i: Int = 0
    var numIds: Int = jsonCsc.size(ofArray: "credentials_list.credentialIDs").intValue
    while i < numIds {
        jsonCsc.i = i
        var cred_id: String? = jsonCsc.string(of: "credentials_list.credentialIDs[i]")
        print("Credential ID: \(cred_id!)")
        i = i + 1
    }


}