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
}
Map<string,DidProcessor>
DID processor map
@Override
public String genRandomNonceFunc(Integer action)
Function to generate nonce
@Override
public Integer getActionByNonce(String nonce)
Gets action by nonce
Returns
OntLoginSdk
GenerateChallenge
Generates the challenge.
Parameters
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
}
Returns
ServerHello
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
}
ValidateClientResponse
Validates the response from the client.
Parameters
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
}
Returns
Field
Description
null
Validation successful
Validation Process:
Verify the validity of parameters
Verify if the nonce is the same as the one generated by the server