API Reference

Creates an OntLoginSdk instance.

SDK configuration
public class SDKConfig {
String[] chain; // Supported chain, e.g."ONT","ETH","BSC"
String[] alg; // Signature scheme such as "ES256","Ed25519"
ServerInfo serverInfo; // Server configuration info, see details below
Map<Integer, VCFilter[]> vcFilters; // VCFilter info for authentication/authorization, see details below
public class ServerInfo {
String name; // Server name
String icon; // Icon, optional
String url; // Server URL
String did; // Server DID, optional
String verificationMethod; // Verification method, optional
public class VCFilter {
String type; // Type of VC, e.g. "DegreeCredential"
String[] express; // List of expressions for zero-knowledge proof
String[] trustRoots // List of trusted VC issuer DIDs
boolean required; // If it's required
DID processor map
public String genRandomNonceFunc(Integer action)
Function to generate nonce
public Integer getActionByNonce(String nonce)
Gets action by nonce


Generates the challenge.

public class ClientHello {
String ver; // Version number
String type; // "ClientHello" for this message
int action; // 0: Authentication, 1: Authorization
ClientChallenge clientChallenge; // Challenge sent from the client for mutual authentication, optional

public class ServerHello {
String ver; // Version number
String type; // "ServerHello" for this message
String nonce; // String of nonce
ServerInfo server; // Server info
String[] chain; // List of supported chains
String[] alg; // List of supported signature schemes
VCFilter[] VCFilters; // List of VCFilters, optional
ServerProof serverProo // Challenge response sent from the server for mutual authentication, optional
Extension extension; // Extension, optional

Validates the response from the client.

public class ClientResponse {
String ver; // Version number
String type; // "ClientResponse" for this message
String did; // User DID
String nonce; // String of nonce generated by the server
Proof proof; // Signature info sent from the client, see details below
String[] VPs; // List of verifiable presentations, optional
public class Proof {
String type; // Signature scheme
String verificatio // DID & key index,e.g."did:ont:alice#key-1"
int created; // Unix timestamp
String value; // HEX string of signature

Validation successful
Validation Process:
  1. 1.
    Verify the validity of parameters
  2. 2.
    Verify if the nonce is the same as the one generated by the server
  3. 3.
    verify the signature
  4. 4.
    Verify the validity of VP and VC
  5. 5.
    Check if the provided VC meets the requirement

Gets JSON string of VC from VP.

Chain name
VP string

JSON string of VC
Copy link
On this page