Sample code for 30+ languages & platforms
Lua Requires Chilkat v10.0.2+

_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.

Chilkat Lua Downloads

Lua
local chilkat = require("chilkat")

-- Provide information about the CSC service and our user ID and client credentials.
local jsonCsc = chilkat.JsonObject.new()

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

jsonCsc:update_string("userId", "YOUR_USER_ID")
jsonCsc:update_string("clientId", "YOUR_CLIENT_ID")
jsonCsc: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.
local cert = chilkat.Cert.new()
local success = cert:set_cloud_signer(jsonCsc)
if not success then
    print(cert.last_error_text)
    return
end

jsonCsc.emit_compact = false

print(jsonCsc:emit())

-- We can do the following to get the credential IDs
local i = 0
local numIds = jsonCsc:size_of_array("credentials_list.credentialIDs")
while i < numIds do
    jsonCsc.i = i
    local cred_id = jsonCsc:string_of("credentials_list.credentialIDs[i]")
    print("Credential ID: " .. cred_id)
    i = i + 1
end