Here are a few of the frequently asked questions (FAQs) on e-Signet:

About eSignet

What is eSignet?

In today's era of digital transformation, there has been a global shift towards moving most services online. To facilitate personalized access to these online services, a secure and trusted digital identity is crucial. eSignet strives to provide a user-friendly and effective method for individuals to authenticate themselves and utilize online services while also having the option to share their profile information. Moreover, eSignet supports multiple modes of identity verification to ensure inclusivity and broaden access, thereby reducing potential digital barriers.

To know more, click here.

What are the core features of eSignet?

The core features of eSignet are available here.

How can I use eSignet?

Based on the type of entity, such as an ID system, a relying party, or a digital wallet, you can integrate with eSignet. For more details, go through our integration guide.

If you are looking at trying out eSignet right away, then you can use our sandbox for testing. Please go through our Try it out section for more details.

Features and Functionality

How many types of authentication methods does eSignet support today?

The types of authentication methods supported by eSignet are available here.

What are the standards followed by eSignet?

The standards followed by eSignet are listed here.

Configuration and Setup

How to configure password authentication in eSignet?

To enable password authentication in Signet for a client, you must first set the ACR value as “mosip:idp:acr:password” in the authContextRefs array during client creation or update.

Then, during local testing,

You must modify or add a file amr-acr-mapping.json in esignet-service >> src >> main >> resources, which should contain all ACR and AMR mapping where you can add “mosip:idp:acr:password” and “PWD” as shown below.

 "amr": {
  "PWD" : [{ "type": "PWD" }],
 "acr_amr": {
  "mosip:idp:acr:password" : ["PWD"],

Once these properties have been added to the file, you can refer to this file in application-local.properties in the same folder location.



You can directly point to a URL from the deployed version using the mosip-config repo where the acr_amr_mapping configuration is stored for production, as shown below.


Similarly, for production,

You have to change acr-amr-mapping.json in the mosip-config repo; depending on your environment, switch to that branch and add the “PWD” property in the amr and “mosip:idp:acr:password” in the acr_amr.

How to add a new language in eSignet?

Adding a new language for local eSignet setup

  1. Go to your Signet project and then open the folder: oidc-ui >> public >> locales

  2. Create a new language JSON file

    1. Copy the file en.json and rename it with your new language's code as per ISO 639-1 (for example, if you want to add the language French, then rename the file to fr.json) so that you can have all keys in for your new language.

    2. Modify the values in your desired language (for French, the values have to be modified to French in the fr.json file)

  3. Update default.json file

    1. Now add the new language’s JSON file detail in the default.json file so that it can be parsed and the new language can be shown in the UI, like below.

    2. You have to add the ISO 639-1 (two-lettered language code) language info in languages_2Letters (which was used to create the new file above) and also put the language value against it.

    3. If your language follows RTL(right-to-left) then add ISO 639-1 language code in the rtlLanguages array.

    4. Finally, create a mapping between ISO 639-2 and ISO 639-1 language codes for your language in langCodeMapping.

  // Add your new language here
  "languages_2Letters": {
    "en": "English",
    "ar": "عربى",
  // Add your new language in rtlLanguages if it uses RTL
  "rtlLanguages": ["ar"],
  // Add a language mapping for ISO 639-2 & ISO 639-1 format
  "langCodeMapping": {
    "eng": "en",
    "ara": "ar",

For details on ISO 639-1 and ISO 639-2, please follow the documentation here.

Adding a new language in the production setup

Similar to the local mentioned above, you need to create a new language JSON file (as per ISO 639-1 and then update language configurations in the default.json file.

Apart from that, you have to make the above changes in the develop branch of your artifactory-ref-impl repository. In order to do so,

  1. Clone the repo and switch to the develop branch.

  2. Go to the folder location: artifacts >> src >> i18n >> esignet-i18n-bundle

  3. Inside this folder, you can view all language JSON files.

  4. Create your new language file as mentioned in the local setup guide above and place it in the folder.

  5. Modify the default.json file as mentioned in the local setup guide above.

Now, use this new artifactory in your production setup.

How to remove a language from the eSignet default setup?

To remove a language from the default eSignet setup, you have to remove or delete the language’s JSON file (let's say French fr.json) from your language bundle.

After that, you need to remove the mapping and details from the default.json file of that particular language.

For local setup,

Go to the folder oidc-ui >> public >> locales in the e-Signet project and perform the above steps.

In production,

Go to the develop branch of your artifactory-ref-impl and perform the above steps in this location: artifacts >> src >> i18n >> esignet-i18n-bundle. Once the artifactory is modified, then you can deploy the latest version in production.

How to integrate wallets with eSignet to provide wallet-based authentication?

To integrate a wallet in eSignet, first, you have to add wallet details in application-local.properties in the esignet-service module in your esignet project.

mosip.esignet.ui.wallet.config={{'wallet.name': 'Inji', 'wallet.logo-url': 'inji_logo.png', 'wallet.download-uri': '#', 'wallet.deep-link-uri': 'inji://landing-page-name?linkCode=LINK_CODE&linkExpireDateTime=LINK_EXPIRE_DT' }}

Here, you need to specify the

  • wallet.name

  • wallet.logo-url

  • wallet.download-uri

  • wallet.deep-link-uri

Note: In this property, you can also configure multiple wallets.

After adding the above details you should add this variable in wallet.config properties of mosip.esignet.ui.config.key-values configuration as shown below.

 'wallet.config': ${mosip.esignet.ui.wallet.config}}

Then, restart the eSignet UI and eSignet backend service to view the changes.

How to configure the expected quality score, timeouts, and number of biometric attributes to be captured in eSignet?

Parameters such as expected quality score, timeouts and the number of biometric attributes to capture are environment variables for eSignet UI.

You can add the below environment variables in the .env file in the eSignet project’s oidc-ui folder.

// expected quality score for various biometrics

// number of biometric subtypes to capture

// capture timeouts in seconds
How to enable or disable the captcha in eSignet UI?

To disable the captcha from the e-Signet OTP screen, you have to set the value false in application-local.properties for mosip.esignet.send-otp.captcha-required variable.

For local testing,

Go to esignet-service >> src >> main >> resources, then open application-local.properties then add this.


For enabling captcha you need to set the same property value as true.

How to register or create a client ID in eSignet?

In order to utilize eSignet for authenticating users and obtaining their information, relying parties are required to follow these steps:

  1. Register as a Client in the eSignet system.

  2. Integrate with eSignet APIs, following the guidelines provided by OpenID Connect, on their web or mobile applications.

To know more, click here.

How to configure a VC issuer in eSignet?

The VC Issuance plugin interface provides methods to return Verifiable Credentials (VCs) of an individual (here, the holder of the credential) when authorized. Today, this interface supports methods for returning linked data-proof VC (as JSON-LD) and VC as JWT.

To know more, click here.

How to configure Knowledge Based Identification Form?

Configuration required to display KBI form.

#individual-id-field is set with field id which should be considered as an individual ID in the authenticate request.
#form-details holds the list of field details like below:
#id -> unique field Id, type -> holds datatype, format -> only supported for date fields, regex -> pattern to validate the input value, maxLength -> number of allowed characters
#Example: mosip.esignet.authenticator.default.auth-factor.kba.field-details={{'id': '${mosip.esignet.authenticator.default.auth-factor.kba.individual-id-field}', 'type':'text', 'format':'', 'maxLength': 50, 'regex': '^\s*[+-]?(\d+|\d*\.\d+|\d+\.\d*)([Ee][+-]?\d*)?\s*$'},{'id':'fullName', 'type':'text', 'format':'', 'maxLength': 50, 'regex': '^[A-Za-z\s]{1,}[\.]{0,1}[A-Za-z\s]{0,}$'},{'id':'dob', 'type':'date', 'format':'dd/mm/yyyy'}}
mosip.esignet.authenticator.default.auth-factor.kba.field-details={{'id':'policyNumber', 'type':'text', 'format':'', 'maxLength': 50, 'regex': '^\s*[+-]?(\d+|\d*\.\d+|\d+\.\d*)([Ee][+-]?\d*)?\s*$'},{'id':'fullName', 'type':'text', 'format':'', 'maxLength': 50, 'regex': '\S*'},{"id":"dob", "type":"date", "format":"dd/mm/yyyy"}} 

Last updated

Copyright © 2021 MOSIP. This work is licensed under a Creative Commons Attribution (CC-BY-4.0) International License unless otherwise noted.