HYPR SDK for Java Web
HYPR SDK for Java
This article includes options to integrate HYPR SDK for Java into your app.
Adding HYPR Java to the Path
java-client-<version>.jar
must be added to your project's classpath
.
Creating a Configuration Object
//This is the base URL of your HYPR server.
String baseURL = "https://example.gethypr.com";
//This is the relying party application ID for your application.
String defaultAppId = "<YOUR_APP_ID_FROM_CONTROL_CENTER>";
HYPRConfiguration hyprConfiguration = new HYPRConfiguration(baseURL, defaultAppId).apiToken("<YOUR_APP_ACCESS_TOKEN>");
Device Registration
//Create the registration object
ClientRegistrationAPIClient clientRegistrationAPIClient = new ClientRegistrationAPIClient(hyprConfiguration);
//Generate the random pin
String randomPin = WebUtils.generateRandomPIN() + "";
// Create QR code image for mobile to scan
// This sample code will generate a file with the QR code for testing purposes.
// If using this in a web application, you can use the results from clientRegistrationAPIClient.getQRCode(randomPin) to create a <img> tag in your HTML/Javascript code.
String qrCodeFile = createQRCodeFile(clientRegistrationAPIClient.getQRCode(randomPin));
System.out.println("*********************************************");
System.out.println("TO REGISTER, SCAN THIS QR CODE IMAGE BY YOUR MOBILE APP >>>> " + qrCodeFile + " <<<<<");
System.out.println("*********************************************");
//Get the pin registration response
ClientPinResponse clientPinResponse = clientRegistrationAPIClient.startRegistrationAndGetPin(username, randomPin);
//Get the final registration response
ClientRegistrationCompleteResponse clientRegistrationCompleteResponse = clientRegistrationAPIClient.completeRegistration(clientPinResponse);
clientRegistrationCompleteResponse.getStatus();
System.out.println(clientRegistrationCompleteResponse.getStatus().getResponseMessage());
Device Authentication
//Callback for user authentication function
HyprWebAuthenticationCallback hyprWebAuthenticationCallback = new HyprWebAuthenticationCallback() {
@Override
public void onFailure(HttpResponse httpResponse, String message) {
displayError(objectMapper, httpResponse, message);
}
@Override
public void onComplete(HttpResponse httpResponse, DeviceAuthenticationRequestStatus clientCompleteAuthStatus) throws IOException {
System.out.println("*********************************************");
System.out.println("Authentication completed successfully :: " + objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(clientCompleteAuthStatus));
System.out.println("*********************************************");
}
@Override
public void onAuthRequestSent(DeviceAuthenticationRequestResponse clientRequestResponse) {
System.out.println("*********************************************");
try {
System.out.println("Authentication Has Started and PUSH has been sent :: " + objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(clientRequestResponse));
} catch (JsonProcessingException e) {
System.out.println("ERROR :: Could not start the authentication and parse the result....");
}
System.out.println("*********************************************");
}
@Override
public void onPollResult(DeviceAuthenticationRequestStatus clientAuthStatus) throws IOException {
System.out.println("*********************************************");
System.out.println("Authentication Polling Result :: " + objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(clientAuthStatus));
System.out.println("*********************************************");
}
};
//Create a client authorization object and pass it the configuration
ClientAuthorizationAPIClient clientAuthorizationAPIClient = new ClientAuthorizationAPIClient(hyprConfiguration);
//Start the authorization for a username provided and pass it the callback
clientAuthorizationAPIClient.handleWebAuthentication(username, hyprWebAuthenticationCallback);
Synchronous Authentication
ClientAuthorization clientAuthorization = new ClientAuthorization(hyprConfiguration);
RequestStatus authStatus = clientAuthorization.handleWebAuthSynchronous("bojan12345");
if(authStatus != null && authStatus.getValue().name().equals("COMPLETED")){
//auth is successful!
}
Getting a List of Devices for Users
//Create an instance of the device information class by passing it the hypr configuration
DeviceInformation deviceInformation = new DeviceInformation(hyprConfiguration);
//Call the get user devices method to get a list of devices.
//List will be empty if there are no devices for that user.
List<RegisteredUserDevice> registeredUserDeviceList = deviceInformation.getUserDevices("username");
Deleting a User's Registered Device
//Create a device information object
DeviceInformation deviceInformation = new DeviceInformation(hyprConfiguration);
//Call the delete user device method by passing it the username and the device id.
//You can get the device id by using the getUserDevices method.
boolean successfulDeletion = deviceInformation.deleteUserDevice("username", "deviceId");
Updated 11 months ago