Sample code for 30+ languages & platforms
DataFlex

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

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Variant vJsonCsc
    Handle hoJsonCsc
    Handle hoCert
    Integer i
    Integer iNumIds
    String sCred_id
    String sTemp1

    Move False To iSuccess

    // Provide information about the CSC service and our user ID and client credentials.
    Get Create (RefClass(cComChilkatJsonObject)) To hoJsonCsc
    If (Not(IsComObjectCreated(hoJsonCsc))) Begin
        Send CreateComObject of hoJsonCsc
    End

    Get ComUpdateString Of hoJsonCsc "service" "CSC" To iSuccess
    Get ComUpdateString Of hoJsonCsc "baseUrl" "https://ras-test.jcc.com.cy/adss/service/ras/csc/v1/" To iSuccess

    Get ComUpdateString Of hoJsonCsc "userId" "YOUR_USER_ID" To iSuccess
    Get ComUpdateString Of hoJsonCsc "clientId" "YOUR_CLIENT_ID" To iSuccess
    Get ComUpdateString Of hoJsonCsc "clientSecret" "YOUR_CLIENT_SECRET" To iSuccess

    // 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.
    Get Create (RefClass(cComChilkatCert)) To hoCert
    If (Not(IsComObjectCreated(hoCert))) Begin
        Send CreateComObject of hoCert
    End
    Get pvComObject of hoJsonCsc to vJsonCsc
    Get ComSetCloudSigner Of hoCert vJsonCsc To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoCert To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Set ComEmitCompact Of hoJsonCsc To False

    Get ComEmit Of hoJsonCsc To sTemp1
    Showln sTemp1

    // We can do the following to get the credential IDs
    Move 0 To i
    Get ComSizeOfArray Of hoJsonCsc "credentials_list.credentialIDs" To iNumIds
    While (i < iNumIds)
        Set ComI Of hoJsonCsc To i
        Get ComStringOf Of hoJsonCsc "credentials_list.credentialIDs[i]" To sCred_id
        Showln "Credential ID: " sCred_id
        Move (i + 1) To i
    Loop



End_Procedure