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
      • Deploy
  • 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
      • Integration Guides
        • OpenID4VP-VP Verification Integration Guide
    • Test
      • Try It Out
        • Inji Verify - Collab Guide
      • Workflow
      • End User Guide
      • Functional Overview
    • Setup
      • Local Setup
      • Generate QR Code
    • Releases
      • Version 0.12.0
        • Test Report
      • 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
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 Web
  3. Develop
  4. Backend services

Mimoto - BFF

Last updated 8 months ago

Was this helpful?

Mimoto serves as a Backend for Frontend (BFF) for Inji Web, handling retrieval of default configurations and downloading VCs. It offers essential APIs to Inji Web, facilitates validations, and forwards requests to relevant services.

To support credential issuance from any issuer compatible with the OpenID4VCI protocol, Mimoto must be onboarded as an OIDC client. Refer for more details on how to onboard Mimoto (BFF) as an OIDC client.

Detailed API documentation for Mimoto is accessible .

Configuration details to set up a new provider that can issue VC, can be found in the mimoto-issuers-config.json property file. Refer to of Collab environment.

In mimoto-issuers-config.json, new providers can be added as per the well-known schema.

Mimoto endpoints used by Inji Web:

  1. Fetch Issuers:

  1. Fetch Issuer's Configuration:

  1. Download PDF:

  1. Fetch Issuer Credentials:

This API fetches the list of Credential Types offered by the issuer, sourced from the well-known configuration of the issuer. Users can filter credentials based on search parameter.

https://api.collab.mosip.net/v1/mimoto/issuers/{issuer-id}/.well-known

Method Type: GET

Parameter:

issuerid: ID of the issuer in string type.

Response

Response code 200

{
  "credential_issuer": "https://injicertify-insurance.dev1.mosip.net",
  "authorization_servers": [
    "https://esignet-insurance.dev1.mosip.net"
  ],
  "credential_endpoint": "https://injicertify-insurance.dev1.mosip.net/v1/certify/issuance/credential",
  "credential_configurations_supported": {
    "InsuranceCredential": {
      "format": "ldp_vc",
      "scope": "sunbird_rc_insurance_vc_ldp",
      "order": [
        "fullName",
        "policyName",
        "policyExpiresOn",
        "policyIssuedOn",
        "policyNumber",
        "mobile",
        "dob",
        "gender",
        "benefits",
        "email"
      ],
      "proof_types_supported": {
        "jwt": {
          "proof_signing_alg_values_supported": [
            "RS256",
            "PS256"
          ]
        }
      },
      "credential_definition": {
        "type": [
          "VerifiableCredential",
          "InsuranceCredential"
        ],
        "credentialSubject": {
          "fullName": {
            "display": [
              {
                "name": "Name",
                "locale": "en"
              }
            ]
          },
          "mobile": {
            "display": [
              {
                "name": "Phone Number",
                "locale": "en"
              }
            ]
          },
          "dob": {
            "display": [
              {
                "name": "Date of Birth",
                "locale": "en"
              }
            ]
          },
          "gender": {
            "display": [
              {
                "name": "Gender",
                "locale": "en"
              }
            ]
          },
          "benefits": {
            "display": [
              {
                "name": "Benefits",
                "locale": "en"
              }
            ]
          },
          "email": {
            "display": [
              {
                "name": "Email Id",
                "locale": "en"
              }
            ]
          },
          "policyIssuedOn": {
            "display": [
              {
                "name": "Policy Issued On",
                "locale": "en"
              }
            ]
          },
          "policyExpiresOn": {
            "display": [
              {
                "name": "Policy Expires On",
                "locale": "en"
              }
            ]
          },
          "policyName": {
            "display": [
              {
                "name": "Policy Name",
                "locale": "en"
              }
            ]
          },
          "policyNumber": {
            "display": [
              {
                "name": "Policy Number",
                "locale": "en"
              }
            ]
          }
        }
      },
      "display": [
        {
          "name": "Health Insurance",
          "locale": "en",
          "logo": {
            "url": "https://raw.githubusercontent.com/tw-mosip/file-server/master/StayProtectedInsurance.png",
            "alt_text": "a square logo of a Veridonia"
          },
          "background_image": {
            "uri": "https://api.dev1.mosip.net/inji/veridonia-logo.png"
          },
          "background_color": "#FDFAF9",
          "text_color": "#7C4616"
        }
      ]
    },
    "LifeInsuranceCredential": {
      "format": "ldp_vc",
      "scope": "life_insurance_vc_ldp",
      "order": [
        "fullName",
        "policyName",
        "policyExpiresOn",
        "policyIssuedOn",
        "policyNumber",
        "mobile",
        "dob",
        "gender",
        "benefits",
        "email"
      ],
      "proof_types_supported": {
        "jwt": {
          "proof_signing_alg_values_supported": [
            "RS256",
            "ES256"
          ]
        }
      },
      "credential_definition": {
        "type": [
          "VerifiableCredential",
          "LifeInsuranceCredential"
        ],
        "credentialSubject": {
          "fullName": {
            "display": [
              {
                "name": "Name",
                "locale": "en"
              }
            ]
          },
          "mobile": {
            "display": [
              {
                "name": "Phone Number",
                "locale": "en"
              }
            ]
          },
          "dob": {
            "display": [
              {
                "name": "Date of Birth",
                "locale": "en"
              }
            ]
          },
          "gender": {
            "display": [
              {
                "name": "Gender",
                "locale": "en"
              }
            ]
          },
          "benefits": {
            "display": [
              {
                "name": "Benefits",
                "locale": "en"
              }
            ]
          },
          "email": {
            "display": [
              {
                "name": "Email Id",
                "locale": "en"
              }
            ]
          },
          "policyIssuedOn": {
            "display": [
              {
                "name": "Policy Issued On",
                "locale": "en"
              }
            ]
          },
          "policyExpiresOn": {
            "display": [
              {
                "name": "Policy Expires On",
                "locale": "en"
              }
            ]
          },
          "policyName": {
            "display": [
              {
                "name": "Policy Name",
                "locale": "en"
              }
            ]
          },
          "policyNumber": {
            "display": [
              {
                "name": "Policy Number",
                "locale": "en"
              }
            ]
          }
        }
      },
      "display": [
        {
          "name": "Life Insurance",
          "locale": "en",
          "logo": {
            "url": "https://raw.githubusercontent.com/tw-mosip/file-server/master/StayProtectedInsurance.png",
            "alt_text": "a square logo of a Veridonia"
          },
          "background_image": {
            "uri": "https://api.dev1.mosip.net/inji/veridonia-logo.png"
          },
          "background_color": "#FDFAF9",
          "text_color": "#7C4616"
        }
      ]
    }
  }
}
here
here
mimoto-issuers-config.json
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": []
}
  • Mimoto endpoints used by Inji Web:
  • GET/issuers
  • GET/issuers/{issuer-id}
  • GET/issuers/{issuer-id}/credentials/{credentialType}/download
get

This API is responsible for generating PDFs for the received VC content. It fetches display properties from the well-known configuration of the issuer and incorporates them into the predefined template of the PDF file.

Path parameters
issuer-idstringRequired
credentialTypestringRequired
Header parameters
BearerstringRequired
Responses
200
OK
application/pdf
Responsestring · binary
get
200

OK

GET /residentmobileapp/issuers/{issuer-id}/credentials/{credentialType}/download HTTP/1.1
Host: api.collab.mosip.net
Bearer: text
Accept: */*
{
  "id": null,
  "version": "v1",
  "str": null,
  "responsetime": "2022-10-31T05:07:34.789Z",
  "metadata": null,
  "response": null,
  "errors": [
    {
      "errorCode": "RESIDENT-APP-036",
      "errorMessage": "Invalid Credential Type Id"
    }
  ]
}