This project demonstrates usage of Captcha, OTP APIs to access Offline eKYC XML.

Overview

Client Application to simulate offline eKYC wrapper API flow

Introduction

This is a Spring boot application which can be used to download offline eKYC XML.

There are three API calls made in following order to download the XML-

  1. Captcha API
  2. OTP Wrapper API
  3. Offline eKYC Wrapper API

All of these APIs have JSON request and response body.

Minimum Requirements

  • Java 8
  • Maven 3.6.1

Steps to run

Clone the repo and resolve dependencies. Then, assign appropriate values to constants as follows-
  • application.properties - You can get these URLs from official hackathon website
    • offline.ekyc.rest.url
    • captcha.rest.url
    • otp.rest.url
    • If you are behind a proxy, then set proxy.enable to true and set corresponding fields. Otherwise leave it as it is
  • Constants.java
    • EKYC_SHARE_CODE is 4 digit code used to encrypt ZIP
    • STAGING_UID is the uid for which offline eKYC XML is to be downloaded
    • DIRECTORY_PATH - location where ZIP and XML files will be saved
Run the application
  • The application makes call to captcha service and the captcha image is saved as captcha.png. Enter the captcha value in commandline.
  • The application calls OTP wrapper API. You will get an OTP on phone linked with staging UID. Enter the OTP in commandline.
  • The ZIP file and extracted XML will be downloaded to `DIRECTORY_PATH' location which is already provided

Contact

If you have any doubts around it, feel free to post those on UIDAI hackathon forum

You might also like...

Example usage of work manager in Android, while doing this study, image downloading was preferred as a method.

Example usage of work manager in Android, while doing this study, image downloading was preferred as a method.

android-workmanager-example Example usage of work manager in Android, while doing this study, image downloading was preferred as a method. Java 11 com

Jan 29, 2022

An example Java application demonstrating TigrisDB's usage

An example Java application demonstrating TigrisDB's usage

tigrisdb-starter-java A starter Java application for TigrisDB. Key points Schema TigrisDB schemas are located in src/main/resources/tigrisdb-schema. E

Jun 27, 2022

For Jack language. Most of codes were commented with their usage, which can be useful for beginner to realize the running principle of a compiler for object-oriented programming language.

Instructions: Download the Java source codes Store these codes into a local folder and open this folder Click the right key of mouse and click ‘Open i

Jan 5, 2023

SitemapGen4j is a library to generate XML sitemaps in Java.

sitemapgen4j SitemapGen4j is a library to generate XML sitemaps in Java. What's an XML sitemap? Quoting from sitemaps.org: Sitemaps are an easy way fo

Dec 16, 2022

Gradle plugin for Android applications for detecting unexpected changes in AndroidManifest.xml

manifest-guard Gradle plugin for Android applications for detecting unexpected changes in AndroidManifest.xml The problem being solved Every third-par

Dec 24, 2022

Acceso a Datos - 02 XML. 2DAM. Ejercicios realizados por el alumnado. Curso 2021-2022

Acceso a Datos - 02 XML. 2DAM. Ejercicios realizados por el alumnado. Curso 2021-2022

Acceso a Datos - 02 - Ejercicios - 2021-2022 Acceso a Datos - 02 XML. 2DAM. Ejercicios realizados por el alumnado. Curso 2021-2022 ¿Cómo Colaborar? Es

Dec 27, 2022

An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or to turn an existing project into a devops project using open source software (Git, Docker, Jenkins..)

DevOpsify Description An assistance platform made using Spring framework that analyses your code, and helps you either to start a devops project, or t

Nov 8, 2022

Rate limiting private REST APIs using Java Spring-boot, spring-security and bucket4j

Rate limiting REST APIs using Spring-security filter and Bucket4J Deployed Application (Swagger-ui on heroku) Inspired from: Baeldung Article Applicat

Jul 18, 2022

BurritoSpigot is a fork of TacoSpigot 1.8.9 that offers several enhancements to performance as well as bug fixes. while offer extra APIs and support for plugins

🌯 BurritoSpigot 🌯 BurritoSpigot is a fork of TacoSpigot 1.8.8 that offers several enhancements to performance as well as bug fixes. while offer extr

Dec 20, 2022
Owner
UIDAI
UIDAI
This project demonstrates reference implementation of Auth API Client

Client Application to test Auth API for OTP verification. Introduction Aadhaar “authentication” means the process wherein Aadhaar Number or Virtual ID

UIDAI 3 Oct 27, 2021
Just-In-Time Access is an AppEngine application that lets you manage just-in-time privileged access to Google Cloud projects.

Just-In-Time Access Just-In-Time Access is an AppEngine application that lets you manage just-in-time privileged access to Google Cloud projects. Syno

Google Cloud Platform 36 Jan 3, 2023
A basic shard that demonstrates optional implementations, and interfaces.

Glass - Example A basic shard that demonstrates optional implementations, and interfaces. Basic Information A lot of stuff will be more complex than o

null 1 Feb 13, 2022
On-device, Offline Spleeter Solution For Mobile

Spleeter for Mobile On-device, Offline Spleeter Solution For Android & iOS Spleeter is Deezer source separation library with pretrained models written

FaceOnLive 235 Dec 24, 2022
CodeGen - a secure, high efficiency, and offline-able software, it provides several useful functions

CodeGen Efficiency ToolBox Introduce Download References Issues and Suggestions Software Preview Introduce CodeGen is a secure, high efficiency, and o

null 454 Jan 4, 2023
This project contains many sample codes for demonstrating the usage of some common design patterns.

STUDY COMMON DESIGN PATTERNS 1. About this project This project contains many sample codes for demonstrating the usage of the following design pattern

Võ Trần Minh Quân 21 Jan 2, 2023
Portaudio4j - An exploratory project to interact with the PortAudio C library using Java's FFI (Panama) APIs

Examples of PortAudio called by Java's Panama APIs JEP 412. At the moment this is purely exploratory (still kicking the tires) as it progresses in the

Carl Dea 4 Dec 29, 2021
A lightweight messaging library that simplifies the development and usage of RabbitMQ with the AMQP protocol.

kryo-messaging This library contains a simple MessagingService which simplifies the setup and work with RabbitMQ and the AMQP protocol. Usage Gradle r

Kryonite Labs 3 Jan 10, 2022
An examples of creating test records in the database with Spring Boot + Spring Data + JPA usage.

Spring Boot + JPA — Clear Tests An examples of creating test records in the database with Spring Boot + Spring Data + JPA usage. Check out the article

Semyon Kirekov 8 Nov 24, 2022
Usage Example using the Your-SB-Parent-POM

Your-SB-Parent-POM-Usage Requirements Java, preferred OpenJDK 17 Maven at least 3.6.3 Install the specify parent POM from the github project: Building

Jeff Schenk 1 Jan 21, 2022