Inji
GitHubCommunityWhat's NewChatBot
  • Inji
    • Try It Out
      • Using Mock Data
    • Use case
    • Resources
    • Roadmap
      • Roadmap 2025
      • Roadmap 2024
    • Supported Integrations
      • MOSIP
    • Project Governance
    • Contribution
      • Code Contribution
      • Code of Conduct
    • GenderMag
    • License
    • Setup
      • Infrastructure Requirements
  • Inji Wallet
    • Inji Mobile
      • Overview
        • Features
      • Develop
        • Architecture
        • Technical Stack
        • Components
        • Integration Guides
          • Face Match
          • Secure Keystore
          • Tuvali
            • Permissions & Requirements
            • Tuvali API Documentation
          • BLE Verifier
          • PixelPass
          • Telemetry
          • VCI-Client
          • OpenID4VP
        • Specifications
          • Face SDK Specifications
        • Backend Services
          • Mimoto
          • eSignet
          • Inji Certify
        • Customizations
          • Workflow customization
          • UI customization
          • Locale customization
          • Configuration
          • Credential Providers
      • Test
        • Try It Out
          • Inji Mobile - Collab Guide
        • Workflow
        • End User Guide
      • Setup
        • Local Setup
      • Releases
        • Version 0.16.0
          • Test Report
        • Version 0.15.1
          • Test Report
        • Version 0.15.0
          • Test Report
        • Version 0.14.1
          • Test Report
        • Version 0.14.0
          • Test Report
        • Version 0.13.1
          • Test Report
        • Version 0.13.0
          • Test Report
        • Version 0.12.0
          • Test Report
        • Version 0.11.0-Inji
          • Test Report
        • Version 0.11.0
        • Version DP2
          • Test Report
        • Version 0.10.0
          • Test Report
        • Version DP1
        • Version 0.9.1
          • Test Report
        • Version 0.9.0
          • Test Report
    • Inji Web
      • Overview
        • Features
      • Develop
        • Architecture
        • Technology Stack
        • Backend services
          • Mimoto - BFF
          • eSignet - Authentication Layer
          • Configurations
        • Customizations
          • UI Customizations
          • Locale Customizations
          • Credential Providers
          • Customize VC PDF Template
        • Supported Browsers
      • Test
        • Try It Out
          • Inji Web - Collab Guide
        • Workflow
        • End User Guide
      • Setup
        • Local setup
      • Releases
        • Version 0.12.0
          • Test Report
        • Version v0.11.1
          • Test Report
        • Version 0.11.0
          • Test Report
        • Version 0.10.0
          • Test Report
        • Version 0.9.0
          • Test Report
        • Version 0.8.1
        • Version 0.8.0
          • Test Report
  • INJI CERTIFY
    • Overview
      • Features
    • Develop
      • Technology Stack
      • Components
      • Tested Operating Systems
    • Test
      • Functional Overview
      • Workflow
    • Setup
      • Local Setup
    • Releases
      • Version 0.11.0
        • Test Report
      • Version 0.10.2
        • Test Report
      • Version 0.10.1
        • Test Report
      • Version 0.9.1
        • Test Report
      • Version 0.9.0
        • Test Report
      • Version 0.8.1
      • Version 0.8.0
    • FAQ
      • FAQ
  • INJI VERIFY
    • Overview
      • Features
    • Develop
      • Technology Stack
      • Components
      • Supported Browsers
      • Customization
        • UI Customizations
        • Locale Customizations
    • Test
      • Try It Out
        • Inji Verify - Collab Guide
      • Workflow
      • End User Guide
      • Functional Overview
    • Setup
      • Local Setup
      • Generate QR Code
    • Releases
      • Version 0.11.1
        • Test Report
      • Version 0.11.0
        • Test Report
      • Version 0.10.0
        • Test Report
      • Version 0.9.0
        • Test Report
      • Version 0.8.1
      • Version 0.8.0
        • Test Report
  • FAQ
  • Deploy
Powered by GitBook

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

On this page

Was this helpful?

Export as PDF
  1. Inji Wallet
  2. Inji Mobile
  3. Develop
  4. Backend Services

Mimoto

Last updated 9 months ago

Was this helpful?

Mimoto is a BFF(Backend for Frontend) for Inji Wallet. It's being used to get default configuration, download verifiable credentials (VC) and activate VC. It provides all necessary APIs to the Inji Wallet and acts as a proxy for resident services. Mimoto gets the request from Inji Wallet, performs all the validations and forwards it to respective services. Additionally, it subscribes to the web-sub event to be able to download the VC once it's ready.

Detailed API documentation of Mimoto is available .

Support for downloading VC from multiple Issuers

  • To get a list of issuers, API is called. For retrieving the credential types and display properties, .well-known location is referred for every issuer from the

Download via eSignet

Inji Wallet allows the users to download VC by redirecting the user to eSignet UI. Multiple APIs are being called to complete the process in the backend.

  • Inji Wallet initiates authenticate API by redirecting users to eSignet UI. On eSignet UI, user is given option to enter the unique ID, the user is asked to enter an OTP on the next screen. In the backend, token API is called to get a token. Refer for more details.

  • After getting a token response, Inji Wallet initiates a download request. Refer

Activate credentials

Credentials have to be activated in order to use them for online login. When a user selects Activate option, an OTP is sent to the user and credentials are activated.

  • To send an OTP to a user, the below API is called.

  • After successful OTP validation, a keypair is generated in the phone and the public key is synced with server. The mimoto receives a certificate and create thumbprint which it stores in the keystore securely. This is called as the activation process.

Configuration

The implementers can choose to use the existing configurations or add new configurations to them.

Issuers Listing

The user is currently on the + button on the Home screen, which will open Add new card screen, where all the issuers are displayed Below issuers list API gives out all the issuers list

To get complete configuration of the specific issuer, below api is called.

The configurable properties for mimoto can be found at . This property file is maintained as one for each deployment environment. On repository, each environment configuration is placed in a corresponding branch specific to that environment.

Refer to of Collab environment.

mimoto-default.properties
this
mimoto-default.properties
here
this
mimoto-issuers-config.json
here
here
get

This API provides data with search capability to populate the list of supported issuers in Inji Web, which is then displayed under the List of Issuers

Query parameters
searchstringOptional
Responses
200
OK
application/json
get
GET /residentmobileapp/issuers HTTP/1.1
Host: api.collab.mosip.net
Accept: */*
200

OK

{
  "id": "mosip.resident.vid",
  "version": "v1",
  "str": null,
  "responsetime": "2022-10-31T05:08:14.846Z",
  "metadata": null,
  "response": {
    "issuers": [
      {
        "credential_issuer": "MOSIPInsurance",
        "protocol": "OpenId4VCI",
        "display": [
          {
            "name": "MOSIP Insurance",
            "logo": {
              "url": "https://api.collab.mosip.net/inji/mosip-logo.png",
              "alt_text": "MOSIP-Logo"
            },
            "title": "Download via LIC",
            "description": "Enter your policy number to download your card.",
            "language": "en"
          }
        ],
        "client_id": "3yz7-j3xRzU3SODdoNgSGvO_cD8UijH3AIWRDAg1x-M",
        ".well-known": "http://localhost:8088/.well-known/openid-credential-issuer"
      },
      {
        "credential_issuer": "MOSIPNationalID",
        "protocol": "OpenId4VCI",
        "display": [
          {
            "name": "MOSIP National ID",
            "logo": {
              "url": "https://api.collab.mosip.net/inji/mosip-logo.png",
              "alt_text": "MOSIP-Logo"
            },
            "title": "Download via LIC",
            "description": "Enter your policy number to download your card.",
            "language": "en"
          }
        ],
        "client_id": "3yz7-j3xRzU3SODdoNgSGvO_cD8UijH3AIWRDAg1x-M",
        ".well-known": "http://localhost:8088/.well-known/openid-credential-issuer"
      }
    ]
  }
}
get

This API provides the complete configuration details for the specific issuers passed in the path variable

Path parameters
issuer-idstringRequired
Responses
200
OK
application/json
get
GET /residentmobileapp/issuers/{issuer-id} HTTP/1.1
Host: api.collab.mosip.net
Accept: */*
200

OK

{
  "id": "mosip.mimoto.issuers",
  "version": "v1",
  "str": null,
  "responsetime": "2024-04-25T05:56:55.890Z",
  "metadata": null,
  "response": {
    "credential_issuer": "ESignet",
    "protocol": "OpenId4VCI",
    "display": [
      {
        "name": "e-Signet",
        "logo": {
          "url": "https://api.collab.mosip.net/inji/mosip-logo.png",
          "alt_text": "mosip-logo"
        },
        "title": "Download MOSIP Credentials",
        "description": "Download credentials by providing UIN or VID",
        "language": "en"
      },
      {
        "name": "e-Signet",
        "logo": {
          "url": "https://api.collab.mosip.net/inji/mosip-logo.png",
          "alt_text": "شعار موسيب"
        },
        "title": "قم بتنزيل بيانات اعتماد MOSIP",
        "description": "توفير UIN أو VIDقم بتنزيل بيانات الاعتماد عن طريق",
        "language": "ar"
      },
      {
        "name": "e-Signet",
        "logo": {
          "url": "https://api.collab.mosip.net/inji/mosip-logo.png",
          "alt_text": "मोसिप लोगो"
        },
        "title": "MOSIP क्रेडेंशियल डाउनलोड करेंं",
        "description": "यूआईएन या वीआईडी प्रदान करके क्रेडेंशियल डाउनलोड करें",
        "language": "hi"
      },
      {
        "name": "e-Signet",
        "logo": {
          "url": "https://api.collab.mosip.net/inji/mosip-logo.png",
          "alt_text": "mosip ಲೋಗೋ"
        },
        "title": "MOSIP ರುಜುವಾತುಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ",
        "description": "UIN ಅಥವಾ VID ಒದಗಿಸುವ ಮೂಲಕ ರುಜುವಾತುಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ",
        "language": "kn"
      },
      {
        "name": "e-Signet",
        "logo": {
          "url": "https://api.collab.mosip.net/inji/mosip-logo.png",
          "alt_text": "mosip லோகோ"
        },
        "title": "MOSIP சான்றுகளைப் பதிவிறக்கவும்",
        "description": "UIN அல்லது VIDஐ வழங்குவதன் மூலம் நற்சான்றிதழ்களைப் பதிவிறக்கவும்",
        "language": "ta"
      },
      {
        "name": "e-Signet",
        "logo": {
          "url": "https://api.collab.mosip.net/inji/mosip-logo.png",
          "alt_text": "logo ng mosip"
        },
        "title": "I-download ang Mga Kredensyal ng MOSIP",
        "description": "Mag-download ng mga kredensyal sa pamamagitan ng pagbibigay ng UIN o VID",
        "language": "fil"
      }
    ],
    "client_id": "DEqVWfdKe9cQWikLdjak3vlDF0Pq7jtnwTcGdEXoT1I",
    "redirect_uri": "io.mosip.residentapp.inji://oauthredirect",
    "scopes_supported": [
      "mosip_identity_vc_ldp"
    ],
    "authorization_endpoint": "https://esignet.collab.mosip.net/authorize",
    "authorization_audience": "https://esignet.collab.mosip.net/v1/esignet/oauth/v2/token",
    "token_endpoint": "https://api.collab.mosip.net/residentmobileapp/get-token/ESignet",
    "proxy_token_endpoint": "https://esignet.collab.mosip.net/v1/esignet/oauth/v2/token",
    "credential_endpoint": "https://esignet.collab.mosip.net/v1/esignet/vci/credential",
    "credential_type": [
      "VerifiableCredential",
      "MOSIPVerifiableCredential"
    ],
    "credential_audience": "https://esignet.collab.mosip.net",
    "client_alias": "mpartner-default-mimotooidc",
    "additional_headers": {
      "Accept": "application/json"
    },
    ".well-known": "https://esignet.collab.mosip.net/.well-known/openid-credential-issuer"
  },
  "errors": []
}
  • Support for downloading VC from multiple Issuers
  • Download via eSignet
  • Activate credentials
  • POSTWallet Binding - Generate Otp
  • POSTWallet Binding - Bind Credential with wallet
  • Configuration
  • Issuers Listing
  • GET/issuers
  • GET/issuers/{issuer-id}

Wallet Binding - Generate Otp

post

This api is used to generate otp for wallet binding. This api is used as a proxy to call Identity Provider - Send Binding OTP Endpoint api internally.

Body
requestTimestringOptional
Responses
200
OK
application/json
post
POST /residentmobileapp/binding-otp HTTP/1.1
Host: api.collab.mosip.net
Content-Type: application/json
Accept: */*
Content-Length: 99

{
  "requestTime": "{{$isoTimestamp}}",
  "request": {
    "individualId": "3816083254",
    "otpChannels": [
      "EMAIL"
    ]
  }
}
200

OK

{
  "id": null,
  "version": null,
  "str": null,
  "responsetime": null,
  "metadata": null,
  "response": {
    "maskedEmail": "mono@mono.com",
    "maskedMobile": "7897897890"
  },
  "errors": []
}

Wallet Binding - Bind Credential with wallet

post

This api is used to bind the credential with wallet. This api is used as a proxy to call Identity Provider - Wallet binding Endpoint api internally.

Body
requestTimestringOptional

The request time

Responses
200
OK
application/json
post
POST /residentmobileapp/wallet-binding HTTP/1.1
Host: api.collab.mosip.net
Content-Type: application/json
Accept: */*
Content-Length: 1012

{
  "requestTime": "2023-01-17T05:38:41.869Z",
  "request": {
    "authFactorType": "WLA",
    "format": "jwt",
    "individualId": "3816083254",
    "publicKey": "-----BEGIN RSA PUBLIC KEY-----\nMIICCgKCAgEAxo8hdrLl6nXyPSeSJu8xgmBBwVutacZS57rmIlHeKJfjYhKLT51v\n0k2IQqN2v6A3HOZqzKXh41p3RrxdSndkqqHwS0BLEVPNpKqYoEbe0tUICDpDSFaa\n7w87Z/OSGrw8bKpxmUT0xZ70+DGPhnWlMvPV5xenG1bVtf/vEq7cwQei1iNbNQRb\nqw/57e9LgmXdmbh/v5XOllT7rlUFmVFm4V4J3u6NH9iOPGlIKTplBlYyxlx6ayaR\n09Z6z4RJICG1MIipCv5qJwuzzXXpBja6gEG4xsN5K4W6b5GLt3IuzMMaQmReseRR\n46s53vBp7aqq1wrjs/CZ1SZqZ5ZG/nUchjTv+Nir0vPR9acvPB5j5qDgfdVz2sT/\nYL1HoeFPOIgcY1ydz+tUBm9F4AMCMZa7GbEmtAIWvxlQp6emo50/opdb51B3Teh3\neVQ+JqYYhOpuTEv0uHfhonXEsNfpGyttjR0FSAH2c6mI6UULi/PfLgcvKuqkhE+7\nlB0SFd852C993GqsY7qfxW1GvJpXYRvo6oRoFO8sj+St36MkmzJbm56AQn/9KWd5\nRLh13xrIUVRnW48y/Blchw/C68Ez1bmCyDeVe1WBPwel0zPl62jCtKawzCQiZcTL\n/ejmlKFHKQd980MwWN18OVakKU52CkO0NT+9ovgi0TRfLKvG6PQ1qGECAwEAAQ==\n-----END RSA PUBLIC KEY-----\n",
    "challengeList": [
      {
        "authFactorType": "OTP",
        "challenge": "111111",
        "format": "alpha-numeric"
      }
    ]
  }
}
200

OK

{
  "id": null,
  "version": null,
  "str": null,
  "responsetime": null,
  "metadata": null,
  "response": {
    "certificate": "-----BEGIN CERTIFICATE-----\nMIIDqjCCApKgAwIBAgIGAYW+PCLUMA0GCSqGSIb3DQEBCwUAMBMxETAPBgNVBAMT\nCE1vY2stSURBMB4XDTIzMDExNzA1MzgxMFoXDTIzMDEyNzA1MzgxMFowGTEXMBUG\nA1UEAxMOTW9jay11c2VyLW5hbWUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\nAoICAQDGjyF2suXqdfI9J5Im7zGCYEHBW61pxlLnuuYiUd4ol+NiEotPnW/STYhC\no3a/oDcc5mrMpeHjWndGvF1Kd2SqofBLQEsRU82kqpigRt7S1QgIOkNIVprvDztn\n85IavDxsqnGZRPTFnvT4MY+GdaUy89XnF6cbVtW1/+8SrtzBB6LWI1s1BFurD/nt\n70uCZd2ZuH+/lc6WVPuuVQWZUWbhXgne7o0f2I48aUgpOmUGVjLGXHprJpHT1nrP\nhEkgIbUwiKkK/monC7PNdekGNrqAQbjGw3krhbpvkYu3ci7MwxpCZF6x5FHjqzne\n8GntqqrXCuOz8JnVJmpnlkb+dRyGNO/42KvS89H1py88HmPmoOB91XPaxP9gvUeh\n4U84iBxjXJ3P61QGb0XgAwIxlrsZsSa0Aha/GVCnp6ajnT+il1vnUHdN6Hd5VD4m\nphiE6m5MS/S4d+GidcSw1+kbK22NHQVIAfZzqYjpRQuL898uBy8q6qSET7uUHRIV\n3znYL33caqxjup/FbUa8mldhG+jqhGgU7yyP5K3foySbMlubnoBCf/0pZ3lEuHXf\nGshRVGdbjzL8GVyHD8LrwTPVuYLIN5V7VYE/B6XTM+XraMK0prDMJCJlxMv96OaU\noUcpB33zQzBY3Xw5VqQpTnYKQ7Q1P72i+CLRNF8sq8bo9DWoYQIDAQABMA0GCSqG\nSIb3DQEBCwUAA4IBAQAmbgQcW22AnrP/GH5lzt+Fy6t20lxqpMDIc3rCO6dzXMCR\n9ocjwLj7E243jGFbhHzC8637qOC8b5bYLZL2ND9ZehSu0qdz/0U0Kwt81rj/lihk\nvhD6xgx8g966AMZcZ0iQncyTzbdEukq6jMAtYfWvAu41rL0H5qvIFvxLHGOoxOYV\n0XZslWTC8B8TB3hzQ+HHexxSZbLSbB+sHFShubOlqqxE/zMj2O+c2FGYSOKlbTXi\nTd4m1WY/eJ4+0XjvEAAMZqLSLtnF5U1POz2onnk0u/lzsRnpxiqJY2++1WmCnuAT\nwDIwNEeAPotfm6tM1TjWuwakYrbSY7Ru0YjaFC1S\n-----END CERTIFICATE-----\n",
    "encryptedWalletBindingId": "qeCUuKEjRDUiDHfbYAsHv5L4RCiHe_KE7eKKjpw7jIo",
    "expireDateTime": "2023-01-27T05:38:10.000Z",
    "thumbprint": "rOe3ifBa0uIuKfArURKRKK5psE8YVdWxXbQoDXAvntk",
    "keyId": "1673933890260"
  },
  "errors": []
}