Resident Portal Configuration Guide

The provided guide presents a list of essential properties that can be customised according to a specific installation. Please note that this list is not exhaustive but rather acts as a checklist to review properties that are expected to differ from their default settings. If you require access to all properties, please refer to the files mentioned below.

Configuration files

Resident Service uses the following configuration files:

application-default.properties
resident-default.properties
resident-ui-personalized-card-schema.json
resident-ui-share-credential-schema.json
resident-ui-update-demographics-schema.json

Database

Properties used for configuring the database.

mosip.resident.database.hostname=postgres-postgresql.postgres
mosip.resident.database.port=5432
javax.persistence.jdbc.driver=org.postgresql.Driver
javax.persistence.jdbc.url=jdbc:postgresql://${mosip.resident.database.hostname}:${mosip.resident.database.port}/mosip_resident
javax.persistence.jdbc.user=residentuser
javax.persistence.jdbc.password=******

Token generation

resident.appid=resident
resident.clientId=******
resident.secretKey=******
token.request.issuerUrl=${mosip.keycloak.issuerUrl}

Online Verification Partner

ida.online-verification-partner-id=******

DB properties to skip automatic table creation in startup

hibernate.show_sql=false
hibernate.hbm2ddl.auto=none
hibernate.temp.use_jdbc_metadata_defaults=false
hibernate.jdbc.lob.non_contextual_creation = true
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false

Allowed Authentication types and default unlock duration

These are the authentication types allowed for a resident and default unlock duration.

auth.types.allowed=otp-email,otp-phone,demo,bio-FINGER,bio-IRIS,bio-FACE
resident.auth-type.default.unlock.duration.seconds=100

Template type codes for allowed Auth-type list (auth.types.allowed)

Templates type codes for authentication types:

resident.otp-email.template.property.attribute.list=mosip.otp-email.template.property
resident.otp-phone.template.property.attribute.list=mosip.otp-phone.template.property
resident.demo.template.property.attribute.list=mosip.demo.template.property
resident.bio-FINGER.template.property.attribute.list=mosip.bio-finger.template.property
resident.bio-IRIS.template.property.attribute.list=mosip.bio-iris.template.property
resident.bio-FACE.template.property.attribute.list=mosip.bio-face.template.property

Validation properties

Below are the properties used for validation purpose:

mosip.id.validation.identity.phone=^([6-9]{1})([0-9]{9})$
mosip.id.validation.identity.email=^[\\w-\\+]+(\\.[\\w]+)*@[\\w-]+(\\.[\\w]+)*(\\.[a-zA-Z]{2,})$
resident.grievance-redressal.alt-email.chars.limit=128
resident.grievance-redressal.alt-phone.chars.limit=64
resident.grievance-redressal.comments.chars.limit=1024
resident.share-credential.purpose.chars.limit=1024
mosip.resident.eid.length=16
mosip.resident.eventid.searchtext.length=${mosip.resident.eid.length}
resident.message.allowed.special.char.regex=^[A-Za-z0-9 .,-]+$
resident.purpose.allowed.special.char.regex=^[A-Za-z0-9 .,-]+$
resident.id.allowed.special.char.regex=^[0-9]+$
resident.document.validation.transaction-id.regex=^[0-9]{10}$
resident.document.validation.document-id.regex=^[A-Za-z0-9-]{20,}$
resident.validation.is-numeric.regex=^[0-9]+$
resident.otp.validation.transaction-id.regex=^[0-9]{10}$
resident.validation.event-id.regex=^[0-9]{${mosip.resident.eid.length}}$

Security

mosip.security.csrf-enable:false
mosip.security.secure-cookie:false

Keycloak authentication client

token.request.appid=resident
token.request.clientId=******
token.request.secretKey=******

Keycloak authentication allowed audience

auth.server.admin.allowed.audience=mosip-resident-client,mosip-reg-client,${mosip.iam.module.clientID}

Identity mapping json file

Property used to get the identity mapping json

registration.processor.identityjson=identity-mapping.json
identity-mapping-file-name=identity-mapping.json
identity-mapping-file-url=${config.server.file.storage.uri}${identity-mapping-file-name} 
identity-mapping-file-source=url:${identity-mapping-file-url}

Machine creation and search configurations

Properties used for machine specification and center:

resident.update-uin.machine-name-prefix = resident_machine_
resident.update-uin.machine-spec-id = RESIDENT-1
resident.update-uin.machine-zone-code = MOR
resident.center.id=10007
resident.machine.id=10011

Auth Adapter rest template authentication configurations

mosip.iam.adapter.appid=resident
mosip.iam.adapter.clientid=******
mosip.iam.adapter.clientsecret=******

Exclusion list

  • This is an exclusion list of URL patterns that should not be a part of authentication and authorization.

  • Properties used to define the endpoints that should not be part of authentication.

mosip.service.end-points=/**/req/otp,/**/proxy/**/*,/**/validate-otp,/**/channel/verification-status,/**/req/credential/**,/**/req/card/*,/**/req/auth-history,/**/rid/check-status,/**/req/auth-lock,/**/req/auth-unlock,/**/req/update-uin,/**/req/print-uin,/**/req/euin,/**/credential/types,/**/req/policy/**,/**/aid/status,/**/individualId/otp,/**/mock/**,/**/callback/**,/**/download-card,/**/download/registration-centers-list/**,/**/download/supporting-documents/**,/**/vid/policy,/**/vid,/vid/**,/**/download/nearestRegistrationcenters/**,/**/authorize/admin/validateToken,/**/logout/user,/**/aid-stage/**

Configuration for re-captcha

mosip.resident.captcha.enable=true
mosip.resident.captcha.id.validate=mosip.resident.captcha.id.validate
mosip.resident.captcha.sitekey=******
mosip.resident.captcha.secretkey=******
mosip.resident.captcha.resourse.url=http://resident-captcha.resident/resident/v1/captcha/validatecaptcha
mosip.resident.captcha.recaptcha.verify.url=https://www.google.com/recaptcha/api/siteverify

Resident UI properties

These properties (comma separated values) are used to define the keys of the properties to be exposed to UI.

resident.ui.propertyKeys=mosip.mandatory-languages,mosip.optional-languages,mosip.utc-datetime-pattern,mosip.iam.adapter.clientid,resident.datetime.pattern,mosip.resident.api.id.otp.request,mosip.resident.api.id.auth,mosip.resident.api.version.otp.request,mosip.resident.api.version.auth,mosip-prereg-host,mosip-prereg-ui-url,auth.types.allowed,resident.template.tnc.order-a-physical-card,resident.template.tnc.share-cred-with-partner,resident.template.tnc.update-demo,resident.view.history.serviceType.filters,resident.view.history.status.filters,resident.auth-type.default.unlock.duration.seconds,mosip.resident.grievance.url,mosip.api.public.host,mosip.resident.captcha.sitekey,mosip.resident.captcha.secretkey,mosip.webui.auto.logout.idle,mosip.webui.auto.logout.ping,mosip.webui.auto.logout.timeout,mosip.resident.download.registration.centre.file.name.convention,mosip.resident.download.supporting.document.file.name.convention,mosip.resident.download.personalized.card.naming.convention,mosip.resident.ack.manage_my_vid.name.convention,mosip.resident.ack.secure_my_id.name.convention,mosip.resident.ack.personalised_card.name.convention,mosip.resident.ack.update_my_data.name.convention,mosip.resident.ack.share_credential.name.convention,mosip.resident.ack.order_physical_card.name.convention,mosip.resident.ack.name.convention,mosip.resident.uin.card.name.convention,mosip.resident.vid.card.name.convention,mosip.resident.download.service.history.file.name.convention,mosip.resident.download.nearest.registration.centre.file.name.convention,auth.internal.id,auth.internal.version,mosip.registration.processor.print.id,mosip.registration.processor.application.version,vid.create.id,mosip.resident.create.vid.version,resident.vid.version,resident.vid.version.new,resident.revokevid.version,resident.revokevid.version.new,resident.vid.id,resident.vid.id.generate,resident.vid.policy.id,resident.vid.get.id,auth.type.status.id,resident.authlock.id,resident.checkstatus.id,resident.checkstatus.version,resident.euin.id,resident.printuin.id,resident.uin.id,resident.rid.id,resident.updateuin.id,resident.authunlock.id,resident.authhistory.id,resident.authLockStatusUpdateV2.id,resident.authLockStatusUpdateV2.version,resident.service.history.id,resident.service.history.version,resident.document.upload.id,resident.document.get.id,resident.document.get.version,resident.document.list.id,resident.document.list.version,resident.service.pin.status.id,resident.service.pin.status.version,resident.service.unpin.status.id,resident.service.unpin.status.version,resident.document.delete.id,resident.document.delete.version,resident.contact.details.update.id,resident.contact.details.send.otp.id,mosip.resident.service.status.check.id,mosip.resident.service.status.check.version,resident.service.unreadnotificationlist.id,resident.service.event.id,resident.service.event.version,resident.identity.info.id,resident.identity.info.version,resident.share.credential.id,resident.share.credential.version,mosip.resident.request.response.version,vid.revoke.id,resident.revokevid.id,mosip.resident.revokevid.id,mosip.resident.grievance.ticket.request.id,mosip.resident.grievance.ticket.request.version,resident.channel.verification.status.id,resident.channel.verification.status.version,resident.event.ack.download.id,resident.event.ack.download.version,resident.download.card.eventid.id ,resident.download.card.eventid.version,mosip.resident.request.vid.card.id,mosip.resident.request.vid.card.version,mosip.credential.request.service.id,mosip.credential.request.service.version,mosip.resident.checkstatus.individualid.id,mosip.resident.checkstatus.individualid.version,mosip.resident.download.personalized.card.id,mosip.resident.transliteration.transliterate.id,resident.ui.properties.id,resident.ui.properties.version,resident.nearby.centers.distance.meters,resident.ui.notification.update.interval.seconds,mosip.kernel.otp.expiry-time,resident.grievance-redressal.alt-email.chars.limit,resident.grievance-redressal.alt-phone.chars.limit,resident.grievance-redressal.comments.chars.limit,resident.share-credential.purpose.chars.limit,mosip.resident.eventid.searchtext.length,mosip.kernel.uin.length,mosip.kernel.vid.length,mosip.kernel.rid.length,mosip.resident.eid.length,mosip.kernel.otp.default-length,resident.message.allowed.special.char.regex,resident.purpose.allowed.special.char.regex,resident.id.allowed.special.char.regex,resident.version.new,mosip.resident.identity.auth.internal.id,resident.validation.event-id.regex,resident.document.validation.transaction-id.regex,resident.document.validation.document-id.regex,resident.validation.is-numeric.regex,resident.otp.validation.transaction-id.regex,,mosip.resident.captcha.enable,resident.download.reg.centers.list.id,resident.download.nearest.reg.centers.id,resident.download.supporting.documents.id,resident.send.card.id,resident.pinned.eventid.id,resident.unpinned.eventid.id,resident.auth.proxy.partners.id,resident.events.eventid.id,resident.notification.id,resident.profile.id,resident.notification.click.id,mosip.credential.store.id,resident.vids.id

MOSIP e-Signet configuration

mosip.iam.module.clientID=******
mosip.iam.module.clientsecret=
mosip.iam.base.url=https://${mosip.esignet.host}/v1/esignet
mosip.iam.authorization_endpoint=https://${mosip.esignet.host}/authorize
mosip.iam.token_endpoint=${mosip.iam.base.url}/oauth/token
mosip.iam.userinfo_endpoint=${mosip.iam.base.url}/oidc/userinfo
mosip.iam.certs_endpoint=${mosip.iam.base.url}/oauth/.well-known/jwks.json
auth.server.admin.issuer.uri=${mosip.iam.base.url}
auth.server.admin.issuer.domain.validate=true
auth.server.admin.oidc.userinfo.url=${mosip.iam.userinfo_endpoint}
mosip.iam.module.token.endpoint.private-key-jwt.auth.enabled=true
mosip.iam.module.token.endpoint.private-key-jwt.expiry.seconds=7200
mosip.resident.oidc.userinfo.jwt.signed=true

Auth Adapter ValidateTokenHelper

This property will directly apply the certs URL without the need for constructing the path from issuer URL. This is useful for keeping different certs URL for integrating with MOSIP e-Signet for offline token validation.

auth.server.admin.oidc.certs.url=${mosip.iam.certs_endpoint}
mosip.iam.logout.offline=true
auth.server.admin.validate.url=
mosip.resident.oidc.userinfo.jwt.verify.enabled=false

Resident login configurations for e-Signet

mosip.iam.module.redirecturi=${mosip.api.internal.url}/resident/v1/login-redirect/
mosip.iam.module.login_flow.name=authorization_code
mosip.iam.module.login_flow.scope=openid profile Manage-Identity-Data Manage-VID Manage-Authentication Manage-Service-Requests Manage-Credentials
mosip.iam.module.login_flow.claims={"userinfo":{"name":{"essential":true},"picture":{"essential":true},"email":{"essential":true},"phone_number":{"essential":true},"individual_id":{"essential":true}}}
mosip.iam.module.login_flow.response_type=code
mosip.iam.module.admin_realm_id=mosip

User-info claim attributes

Used in open-id-connect based login with UIN/VID in MOSIP e-Signet(IDP)

mosip.resident.identity.claim.individual-id=individual_id
mosip.resident.identity.claim.ida-token=ida_token

Scopes

Used for login purpose:

mosip.scope.resident.getinputattributevalues=Manage-Identity-Data
mosip.scope.resident.patchrevokevid=Manage-VID
mosip.scope.resident.postgeneratevid=Manage-VID
mosip.scope.resident.getvids=Manage-VID
mosip.scope.resident.getAuthTransactions=Manage-Service-Requests
mosip.scope.resident.postAuthTypeUnlock=Manage-Authentication
mosip.scope.resident.postAuthTypeStatus=Manage-Authentication
mosip.scope.resident.getAuthLockStatus=Manage-Authentication
mosip.scope.resident.patchUpdateUin=Manage-Identity-Data
mosip.scope.resident.getServiceAuthHistoryRoles=Manage-Service-Requests
mosip.scope.resident.postSendPhysicalCard=Manage-Credentials
mosip.scope.resident.getUnreadServiceList=Manage-Service-Requests
mosip.scope.resident.getNotificationCount=
mosip.scope.resident.getNotificationClick=Manage-Service-Requests
mosip.scope.resident.getupdatedttimes=Manage-Service-Requests
mosip.scope.resident.postRequestDownloadPersonalizedCard=Manage-Credentials
mosip.scope.resident.postRequestShareCredWithPartner=Manage-Credentials
mosip.scope.resident.postUnPinStatus=Manage-Service-Requests
mosip.scope.resident.postPinStatus=Manage-Service-Requests
mosip.scope.resident.getDownloadCard=Manage-Credentials
mosip.scope.resident.postPersonalizedCard=Manage-Credentials
mosip.scope.resident.getOrderRedirect=Manage-Credentials

Key manager encryption/ decryption configuration

Properties used to define application and reference id.

APPLICATION_Id=RESIDENT
PARTNER_REFERENCE_Id=mpartner-default-resident
mosip.resident.keymanager.application-name=RESIDENT
mosip.resident.keymanager.reference-id=resident_document
mosip.datashare.application.id=PARTNER
mosip.datashare.reference.id=mparter-default-euin
mosip.resident.oidc.keymanager.reference.id=IDP_USER_INFO
mosip.resident.sign.pdf.application.id=KERNEL
mosip.resident.sign.pdf.reference.id=SIGN

Object Store configuration

For Minio: object.store.s3.url=http://minio.minio:9000

For AWS: object.store.s3.url=s3.${s3.region}.amazonaws.com

mosip.resident.object.store.account-name=resident
mosip.resident.object.store.bucket-name=resident
mosip.resident.object.store.adapter-name=s3Adapter
object.store.s3.use.account.as.bucketname=true
object.store.s3.accesskey=******
object.store.s3.secretkey=******
object.store.s3.url=http://minio.minio:9000
object.store.s3.region=${s3.region}
object.store.s3.readlimit=10000000

Virus Scanner configuration

Property used to enable virus scanner flag

mosip.resident.virus-scanner.enabled=true

VID Policy URL

Property used to get the vid policy json:

mosip.resident.vid-policy-url=${config.server.file.storage.uri}mosip-vid-policy.json

Resident UI Schema JSON file

Property used to get the UI schema json

resident-ui-schema-file-name-prefix=resident-ui
resident-ui-schema-file-url=${config.server.file.storage.uri}${resident-ui-schema-file-name-prefix}
resident-ui-schema-file-source-prefix=url:${resident-ui-schema-file-url}

Credential Data format MVEL file name

This property is used to get the data format from MVEL file:

resident-data-format-mvel-file-name=credentialdata.mvel
resident-data-format-mvel-file-url=${config.server.file.storage.uri}${resident-data-format-mvel-file-name} 
resident-data-format-mvel-file-source=url:${resident-data-format-mvel-file-url}

WebSub Topic and callback properties for auth-type status event

Below websub properties are used for authentication type status event:

resident.websub.authtype-status.secret=******
resident.websub.authtype-status.topic=AUTH_TYPE_STATUS_UPDATE_ACK
resident.websub.callback.authtype-status.relative.url=${server.servlet.context-path}/callback/authTypeCallback
resident.websub.callback.authtype-status.url=${mosip.api.internal.url}${resident.websub.callback.authtype-status.relative.url}

WebSub Topic and callback properties for auth-transaction status event

Below websub properties used for authentication transaction status event:

resident.websub.authTransaction-status.secret=******
resident.websub.authTransaction-status.topic=AUTHENTICATION_TRANSACTION_STATUS
resident.websub.callback.authTransaction-status.relative.url=${server.servlet.context-path}/callback/authTransaction
resident.websub.callback.authTransaction-status.url=${mosip.api.internal.url}${resident.websub.callback.authTransaction-status.relative.url}

WebSub Topic and callback properties for credential status event

Below websub properties used for credential status event:

resident.websub.credential-status.secret=******
resident.websub.credential-status.topic=CREDENTIAL_STATUS_UPDATE
resident.websub.callback.credential-status.relative.url=${server.servlet.context-path}/callback/credentialStatusUpdate
resident.websub.callback.credential-status.url=${mosip.api.internal.url}${resident.websub.callback.credential-status.relative.url}

TokenId generator

mosip.kernel.tokenid.uin.salt=******
mosip.kernel.tokenid.partnercode.salt=******

Mask functions

Properties used to get the data format from MVEL file.

resident.email.mask.function=maskEmail
resident.phone.mask.function=maskPhone
resident.data.mask.function=convertToMaskData

Batch job configuration for credential status update

mosip.resident.update.service.status.job.enabled=false
mosip.resident.update.service.status.job.initial-delay=60000
#Interval for checking the credential status for async requests. Note, this is done as a fallback though credential status update is hanlded in resident service via websub notification.
mosip.resident.update.service.status.job.interval.millisecs=600000

Template type codes for terms and conditions

resident.template.tnc.order-a-physical-card=tnc-order-a-physical-card
resident.template.tnc.share-cred-with-partner=tnc-share-cred-with-partner
resident.template.tnc.update-demo=tnc-update-demo

Template type codes for email subject

resident.template.email.subject.request-received.cust-and-down-my-card=cust-and-down-my-card-request-received-email-subject
resident.template.email.subject.success.cust-and-down-my-card=cust-and-down-my-card-success-email-subject
resident.template.email.subject.failure.cust-and-down-my-card=cust-and-down-my-card-failure-email-subject

resident.template.email.subject.request-received.order-a-physical-card=order-a-physical-card-request-received-email-subject
resident.template.email.subject.success.order-a-physical-card=order-a-physical-card-success-email-subject
resident.template.email.subject.failure.order-a-physical-card=order-a-physical-card-failure-email-subject

resident.template.email.subject.request-received.share-cred-with-partner=share-cred-with-partner-request-received-email-subject
resident.template.email.subject.success.share-cred-with-partner=share-cred-with-partner-success-email-subject
resident.template.email.subject.failure.share-cred-with-partner=share-cred-with-partner-failure-email-subject

resident.template.email.subject.request-received.lock-unlock-auth=lock-unlock-auth-request-received-email-subject
resident.template.email.subject.success.lock-unlock-auth=lock-unlock-auth-success-email-subject
resident.template.email.subject.failure.lock-unlock-auth=lock-unlock-auth-failure-email-subject

resident.template.email.subject.request-received.update-demo-data=update-demo-data-request-received-email-subject
resident.template.email.subject.success.update-demo-data=update-demo-data-success-email-subject
resident.template.email.subject.failure.update-demo-data=update-demo-data-failure-email-subject

resident.template.email.subject.request-received.gen-or-revoke-vid=gen-or-revoke-vid-request-received-email-subject
resident.template.email.subject.success.gen-or-revoke-vid=gen-or-revoke-vid-success-email-subject
resident.template.email.subject.failure.gen-or-revoke-vid=gen-or-revoke-vid-failure-email-subject

resident.template.email.subject.request-received.vid-card-download=vid-card-download-request-received-email-subject
resident.template.email.subject.success.vid-card-download=vid-card-download-success-email-subject
resident.template.email.subject.failure.vid-card-download=vid-card-download-failure-email-subject

resident.template.email.subject.request-received.get-my-uin-card=get-my-uin-card-request-received-email-subject
resident.template.email.subject.success.get-my-uin-card=get-my-uin-card-success-email-subject
resident.template.email.subject.failure.get-my-uin-card=get-my-uin-card-failure-email-subject

resident.template.email.subject.request-received.verify-my-phone-email=verify-my-phone-email-request-received-email-subject
resident.template.email.subject.success.verify-my-phone-email=verify-my-phone-email-success-email-subject
resident.template.email.subject.failure.verify-my-phone-email=verify-my-phone-email-failure-email-subject

resident.template.email.subject.success.send-otp=receive-otp-mail-subject
resident.template.email.subject.success.validate-otp=validate-otp-mail-subject

Template type codes for email content

resident.template.email.content.request-received.cust-and-down-my-card=cust-and-down-my-card-request-received-email-content
resident.template.email.content.success.cust-and-down-my-card=cust-and-down-my-card-success-email-content
resident.template.email.content.failure.cust-and-down-my-card=cust-and-down-my-card-failure-email-content

resident.template.email.content.request-received.order-a-physical-card=order-a-physical-card-request-received-email-content
resident.template.email.content.success.order-a-physical-card=order-a-physical-card-success-email-content
resident.template.email.content.failure.order-a-physical-card=order-a-physical-card-failure-email-content

resident.template.email.content.request-received.share-cred-with-partner=share-cred-with-partner-request-received-email-content
resident.template.email.content.success.share-cred-with-partner=share-cred-with-partner-success-email-content
resident.template.email.content.failure.share-cred-with-partner=share-cred-with-partner-failure-email-content

resident.template.email.content.request-received.lock-unlock-auth=lock-unlock-auth-request-received-email-content
resident.template.email.content.success.lock-unlock-auth=lock-unlock-auth-success-email-content
resident.template.email.content.failure.lock-unlock-auth=lock-unlock-auth-failure-email-content

resident.template.email.content.request-received.update-demo-data=update-demo-data-request-received-email-content
resident.template.email.content.success.update-demo-data=update-demo-data-success-email-content
resident.template.email.content.failure.update-demo-data=update-demo-data-failure-email-content

resident.template.email.content.request-received.gen-or-revoke-vid=gen-or-revoke-vid-request-received-email-content
resident.template.email.content.success.gen-or-revoke-vid=gen-or-revoke-vid-success-email-content
resident.template.email.content.failure.gen-or-revoke-vid=gen-or-revoke-vid-failure-email-content

resident.template.email.content.request-received.vid-card-download=vid-card-download-request-received-email-content
resident.template.email.content.success.vid-card-download=vid-card-download-success-email-content
resident.template.email.content.failure.vid-card-download=vid-card-download-failure-email-content

resident.template.email.content.request-received.get-my-uin-card=get-my-uin-card-request-received-email-content
resident.template.email.content.success.get-my-uin-card=get-my-uin-card-success-email-content
resident.template.email.content.failure.get-my-uin-card=get-my-uin-card-failure-email-content

resident.template.email.content.request-received.verify-my-phone-email=verify-my-phone-email-request-received-email-content
resident.template.email.content.success.verify-my-phone-email=verify-my-phone-email-success-email-content
resident.template.email.content.failure.verify-my-phone-email=verify-my-phone-email-failure-email-content

resident.template.email.content.success.send-otp=receive-otp-mail-content
resident.template.email.content.success.validate-otp=validate-otp-mail-content

Template type codes for sms content

resident.template.sms.request-received.cust-and-down-my-card=cust-and-down-my-card-request-received_SMS
resident.template.sms.success.cust-and-down-my-card=cust-and-down-my-card-success_SMS
resident.template.sms.failure.cust-and-down-my-card=cust-and-down-my-card-failure_SMS

resident.template.sms.request-received.order-a-physical-card=order-a-physical-card-request-received_SMS
resident.template.sms.success.order-a-physical-card=order-a-physical-card-success_SMS
resident.template.sms.failure.order-a-physical-card=order-a-physical-card-failure_SMS

resident.template.sms.request-received.share-cred-with-partner=share-cred-with-partner-request-received_SMS
resident.template.sms.success.share-cred-with-partner=share-cred-with-partner-success_SMS
resident.template.sms.failure.share-cred-with-partner=share-cred-with-partner-failure_SMS

resident.template.sms.request-received.lock-unlock-auth=lock-unlock-auth-request-received_SMS
resident.template.sms.success.lock-unlock-auth=lock-unlock-auth-success_SMS
resident.template.sms.failure.lock-unlock-auth=lock-unlock-auth-failure_SMS

resident.template.sms.request-received.update-demo-data=update-demo-data-request-received_SMS
resident.template.sms.success.update-demo-data=update-demo-data-success_SMS
resident.template.sms.failure.update-demo-data=update-demo-data-failure_SMS

resident.template.sms.request-received.gen-or-revoke-vid=gen-or-revoke-vid-request-received_SMS
resident.template.sms.success.gen-or-revoke-vid=gen-or-revoke-vid-success_SMS
resident.template.sms.failure.gen-or-revoke-vid=gen-or-revoke-vid-failure_SMS

resident.template.sms.request-received.vid-card-download=vid-card-download-request-received_SMS
resident.template.sms.success.vid-card-download=vid-card-download-success_SMS
resident.template.sms.failure.vid-card-download=vid-card-download-failure_SMS

resident.template.sms.request-received.get-my-uin-card=get-my-uin-card-request-received_SMS
resident.template.sms.success.get-my-uin-card=get-my-uin-card-success_SMS
resident.template.sms.failure.get-my-uin-card=get-my-uin-card-failure_SMS

resident.template.sms.request-received.verify-my-phone-email=verify-my-phone-email-request-received_SMS
resident.template.sms.success.verify-my-phone-email=verify-my-phone-email-success_SMS
resident.template.sms.failure.verify-my-phone-email=verify-my-phone-email-failure_SMS

resident.template.sms.success.send-otp=receive-otp
resident.template.sms.success.validate-otp=validate-otp

Template type codes for purpose (success) content

resident.template.purpose.success.cust-and-down-my-card=cust-and-down-my-card-positive-purpose
resident.template.purpose.success.order-a-physical-card=order-a-physical-card-positive purpose
resident.template.purpose.success.share-cred-with-partner=share-cred-with-partner-positive-purpose
resident.template.purpose.success.lock-unlock-auth=lock-unlock-auth-positive-purpose
resident.template.purpose.success.update-demo-data=update-demo-data-positive-purpose
resident.template.purpose.success.gen-or-revoke-vid=gen-or-revoke-vid-positive-purpose
resident.template.purpose.success.get-my-uin-card=get-my-uin-card-positive-purpose
resident.template.purpose.success.verify-my-phone-email=verify-my-phone-email-positive-purpose
resident.template.purpose.success.vid-card-download=vid-card-download-positive-purpose

Template type codes for purpose (in-progress/failure) content

resident.template.purpose.failure.cust-and-down-my-card=cust-and-down-my-card-negative-purpose
resident.template.purpose.failure.order-a-physical-card=order-a-physical-card-negative purpose
resident.template.purpose.failure.share-cred-with-partner=share-cred-with-partner-negative-purpose
resident.template.purpose.failure.lock-unlock-auth=lock-unlock-auth-negative-purpose
resident.template.purpose.failure.update-demo-data=update-demo-data-negative-purpose
resident.template.purpose.failure.gen-or-revoke-vid=gen-or-revoke-vid-negative-purpose
resident.template.purpose.failure.get-my-uin-card=get-my-uin-card-negative-purpose
resident.template.purpose.failure.verify-my-phone-email=verify-my-phone-email-negative-purpose
resident.template.purpose.failure.vid-card-download=vid-card-download-negative-purpose

Template type codes for summary (success) content

resident.template.summary.success.cust-and-down-my-card=cust-and-down-my-card-success-summary
resident.template.summary.success.order-a-physical-card=order-a-physical-card-success-summary
resident.template.summary.success.share-cred-with-partner=share-cred-with-partner-success-summary
resident.template.summary.success.lock-unlock-auth=lock-unlock-auth-success-summary
resident.template.summary.success.update-demo-data=update-demo-data-success-summary
resident.template.summary.success.gen-or-revoke-vid=gen-or-revoke-vid-success-summary
resident.template.summary.success.get-my-uin-card=get-my-uin-card-success-summary
resident.template.summary.success.verify-my-phone-email=verify-my-phone-email-success-summary
resident.template.summary.success.vid-card-download=vid-card-download-positive-summary

Template type codes for acknowledgement PDFs

resident.template.ack.share-cred-with-partner=acknowledgement-share-cred-with-partner
resident.template.ack.manage-my-vid=acknowledgement-manage-my-vid
resident.template.ack.order-a-physical-card=acknowledgement-order-a-physical-card
resident.template.ack.download-a-personalized-card=acknowledgement-download-a-personalized-card
resident.template.ack.update-demographic-data=acknowledgement-update-demographic-data
resident.template.ack.verify-email-id-or-phone-number=acknowledgement-verify-email-id-or-phone-number
resident.template.ack.secure-my-id=acknowledgement-secure-my-id
resident.template.ack.authentication.request=acknowledgment-authentication-request
resident.template.ack.get.my.id=acknowledgment-get-my-id
resident.template.ack.vid.card.download=acknowledgment-vid-card-download

Template type codes for supporting documents, service history, registration centers and VID card

resident.template.support-docs-list=supporting-docs-list
mosip.resident.service.history.template.type.code=service-history-type
resident.template.registration.centers.list=registration-centers-list
mosip.resident.vid.card.template.property=vid-card-type

Template required properties

resident.template.date.pattern=dd-MM-yyyy
resident.template.time.pattern=HH:mm:ss
resident.ui.track-service-request-url=https://${mosip.resident.host}/#/uinservices/trackservicerequest?eid=

View history filters

resident.view.history.serviceType.filters=ALL,AUTHENTICATION_REQUEST,SERVICE_REQUEST,DATA_UPDATE_REQUEST,ID_MANAGEMENT_REQUEST,DATA_SHARE_REQUEST
resident.view.history.status.filters=all,Success,In Progress,Failed

Maximum data to download in a PDF

resident.service-history.download.max.count=100
resident.registration-centers.download.max.count=100

Registration Center search configuration

The Registration centers will be searched based on the distance value in meters from the Geo location identified

resident.nearby.centers.distance.meters=2000

Page size in Bell Icon Notification list and view history

resident.notifications.default.page.size=100
resident.view-history.default.page.size=10
auth.validate.id-token=true
idToken=id_token
auth.token.header=Authorization
mosip.resident.access_token.auth_mode.claim-name=acr
mosip.resident.oidc.id_token.ida_token.claim-name=sub
mosip.resident.oidc.auth_token.expiry.claim-name=exp
mosip.resident.oidc.userinfo.encryption.enabled=false
mosip.client.assertion.reference.id=
mosip.include.payload=true
mosip.include.certificate=true
mosip.include.cert.hash=false

Rectangle coordinates for PDF signed data

mosip.resident.service.uincard.lowerleftx=73
mosip.resident.service.uincard.lowerlefty=100
mosip.resident.service.uincard.upperrightx=300
mosip.resident.service.uincard.upperrighty=300
mosip.resident.service.uincard.signature.reason="Digitally Signed"

File name for the downloaded PDFs

mosip.resident.download.registration.centre.file.name.convention=Registration_centers_{timestamp}
mosip.resident.download.supporting.document.file.name.convention=Supporting_documents_{timestamp}
mosip.resident.download.personalized.card.naming.convention=Personalised_card_{eventId}_{timestamp}
mosip.resident.ack.manage_my_vid.name.convention=Ack_{featureName}_{eventId}_{timestamp}
mosip.resident.ack.secure_my_id.name.convention=Ack_{featureName}_{eventId}_{timestamp}
mosip.resident.ack.personalised_card.name.convention=Ack_{featureName}_{eventId}_{timestamp}
mosip.resident.ack.update_my_data.name.convention=Ack_{featureName}_{eventId}_{timestamp}
mosip.resident.ack.share_credential.name.convention=Ack_{featureName}_{eventId}_{timestamp}
mosip.resident.ack.order_physical_card.name.convention=Ack_{featureName}_{eventId}_{timestamp}
mosip.resident.ack.name.convention=Ack_{featureName}_{eventId}_{timestamp}
mosip.resident.uin.card.name.convention=UIN_{eventId}_{timestamp}
mosip.resident.vid.card.name.convention=VID_{eventId}_{timestamp}
mosip.resident.download.service.history.file.name.convention=View_history_{timestamp}
mosip.resident.download.nearest.registration.centre.file.name.convention=Registration_centers_{timestamp}
mosip.resident.download.card.naming.convention=Get_my_UIN_{timestamp}

Credential request configuration

mosip.resident.request.credential.credentialType=euin
mosip.resident.request.credential.isEncrypt=true
mosip.resident.request.credential.encryption.key=******

mosip.digital.card.credential.type=PDFCard
mosip.credential.issuer=******

Claim names

mosip.resident.name.token.claim-name=name
mosip.resident.photo.token.claim-photo=picture
mosip.resident.individual.id.claim.name=individual_id
mosip.resident.email.token.claim-email=email
mosip.resident.phone.token.claim-phone=phone_number

OTP Flooding

Configure Time limit for OTP Flooding scenario (in minutes).

otp.request.flooding.duration=1
otp.request.flooding.max-count=10

Maximum file size and types for uploading document

mosip.max.file.upload.size.in.bytes=2306867
mosip.allowed.extension=pdf,jpeg,png,jpg

Reg-proc packet status codes

resident.success.packet-status-code.list=PROCESSED,SUCCESS,UIN_GENERATED
resident.in-progress.packet-status-code.list=PROCESSING,REREGISTER,RESEND,RECEIVED,UPLOAD_PENDING,AWAITING_INFORMATION,REPROCESS
resident.failure.packet-status-code.list=REJECTED,FAILED,REPROCESS_FAILED

Reg-proc packet transaction type codes

resident.REQUEST_RECEIVED.packet-transaction-type-code.list=PACKET_RECEIVER,VIRUS_SCAN,SECUREZONE_NOTIFICATION,UPLOAD_PACKET,VALIDATE_PACKET,PACKET_CLASSIFICATION
resident.VALIDATION_STAGE.packet-transaction-type-code.list=CMD_VALIDATION,OPERATOR_VALIDATION,QUALITY_CLASSIFIER,SUPERVISOR_VALIDATION,INTRODUCER_VALIDATION,BIOMETRIC_AUTHENTICATION,EXTERNAL_INTEGRATION
resident.VERIFICATION_STAGE.packet-transaction-type-code.list=DEMOGRAPHIC_VERIFICATION,MANUAL_ADJUDICATION,VERIFICATION,BIOGRAPHIC_VERIFICATION
resident.UIN_GENERATION_STAGE.packet-transaction-type-code.list=UIN_GENERATOR,BIOMETRIC_EXTRACTION,NOTIFICATION,FINALIZATION,PACKET_REPROCESS
resident.CARD_READY_TO_DOWNLOAD.packet-transaction-type-code.list=PRINT_SERVICE,PRINT_POSTAL_SERVICE,PRINT

Synchronous events

resident.request.success.status.list.AUTHENTICATION_REQUEST=AUTHENTICATION_SUCCESSFUL,Y
resident.request.failed.status.list.AUTHENTICATION_REQUEST=AUTHENTICATION_FAILED,N

resident.request.new.status.list.DOWNLOAD_PERSONALIZED_CARD=NEW
resident.batchjob.process.success.status.list.DOWNLOAD_PERSONALIZED_CARD=CARD_DOWNLOADED
resident.request.failed.status.list.DOWNLOAD_PERSONALIZED_CARD=FAILED

resident.request.new.status.list.GET_MY_ID=NEW
resident.request.in-progress.status.list.GET_MY_ID=OTP_REQUESTED
resident.request.success.status.list.GET_MY_ID=CARD_DOWNLOADED,OTP_VERIFIED
resident.request.failed.status.list.GET_MY_ID=FAILED

resident.request.new.status.list.BOOK_AN_APPOINTMENT=
resident.request.success.status.list.BOOK_AN_APPOINTMENT=
resident.request.failed.status.list.BOOK_AN_APPOINTMENT=

resident.request.new.status.list.GENERATE_VID=NEW
resident.request.success.status.list.GENERATE_VID=VID_GENERATED
resident.request.failed.status.list.GENERATE_VID=FAILED

resident.request.new.status.list.REVOKE_VID=NEW
resident.request.success.status.list.REVOKE_VID=VID_REVOKED
resident.request.failed.status.list.REVOKE_VID=FAILED

resident.request.new.status.list.SEND_OTP=
resident.request.success.status.list.SEND_OTP=
resident.request.failed.status.list.SEND_OTP=

resident.request.new.status.list.VALIDATE_OTP=OTP_REQUESTED
resident.request.success.status.list.VALIDATE_OTP=OTP_VERIFIED
resident.request.failed.status.list.VALIDATE_OTP=OTP_VERIFICATION_FAILED

resident.request.new.status.list.DEFAULT=
resident.request.success.status.list.DEFAULT=
resident.request.failed.status.list.DEFAULT=

Asyc Request Types

resident.async.request.types=VID_CARD_DOWNLOAD,ORDER_PHYSICAL_CARD,SHARE_CRED_WITH_PARTNER,UPDATE_MY_UIN

Asynchronous events

resident.request.new.status.list.SHARE_CRED_WITH_PARTNER=NEW
resident.request.in-progress.status.list.SHARE_CRED_WITH_PARTNER=ISSUED
resident.request.success.status.list.SHARE_CRED_WITH_PARTNER=RECEIVED,DATA_SHARED_SUCCESSFULLY,STORED
resident.request.failed.status.list.SHARE_CRED_WITH_PARTNER=FAILED
resident.request.notification.status.list.SHARE_CRED_WITH_PARTNER=FAILED,RECEIVED,DATA_SHARED_SUCCESSFULLY,STORED

resident.request.new.status.list.ORDER_PHYSICAL_CARD=NEW
resident.request.in-progress.status.list.ORDER_PHYSICAL_CARD=PAYMENT_CONFIRMED,ISSUED,PRINTING,IN_TRANSIT
resident.request.success.status.list.ORDER_PHYSICAL_CARD=CARD_DELIVERED
resident.request.failed.status.list.ORDER_PHYSICAL_CARD=FAILED,PAYMENT_FAILED
resident.request.notification.status.list.ORDER_PHYSICAL_CARD=PAYMENT_CONFIRMED,ISSUED,PRINTING,IN_TRANSIT,CARD_DELIVERED,FAILED,PAYMENT_FAILED,CARD_DELIVERED

resident.request.new.status.list.UPDATE_MY_UIN=NEW
resident.request.in-progress.status.list.UPDATE_MY_UIN=PROCESSING,PAUSED,RESUMABLE,REPROCESS,PAUSED_FOR_ADDITIONAL_INFO
resident.request.success.status.list.UPDATE_MY_UIN=PROCESSED,DATA_UPDATED,STORED,CARD_READY_TO_DOWNLOAD,CARD_DOWNLOADED
resident.request.failed.status.list.UPDATE_MY_UIN=FAILED,REJECTED,REPROCESS_FAILED
resident.request.notification.status.list.UPDATE_MY_UIN=PROCESSED,DATA_UPDATED,STORED,CARD_READY_TO_DOWNLOAD,CARD_DOWNLOADED,FAILED,REJECTED,REPROCESS_FAILED

resident.request.new.status.list.AUTH_TYPE_LOCK_UNLOCK=NEW
resident.request.in-progress.status.list.AUTH_TYPE_LOCK_UNLOCK=
resident.request.success.status.list.AUTH_TYPE_LOCK_UNLOCK=COMPLETED
resident.request.failed.status.list.AUTH_TYPE_LOCK_UNLOCK=FAILED
resident.request.notification.status.list.AUTH_TYPE_LOCK_UNLOCK=COMPLETED,FAILED

resident.request.new.status.list.VID_CARD_DOWNLOAD=NEW
resident.request.in-progress.status.list.VID_CARD_DOWNLOAD=ISSUED
resident.request.success.status.list.VID_CARD_DOWNLOAD=STORED,CARD_READY_TO_DOWNLOAD,CARD_DOWNLOADED
resident.request.failed.status.list.VID_CARD_DOWNLOAD=FAILED
resident.request.notification.status.list.VID_CARD_DOWNLOAD=STORED,CARD_READY_TO_DOWNLOAD,CARD_DOWNLOADED,FAILED

Attributes name based template type codes

Define property name in below format-

resident..template.property.attribute.list

resident.fullName.template.property.attribute.list=mosip.full.name.template.property
resident.dateOfBirth.template.property.attribute.list=mosip.date.of.birth.template.property
resident.UIN.template.property.attribute.list=mosip.uin.template.property
resident.perpetualVID.template.property.attribute.list=mosip.perpetual.vid.template.property
resident.phone.template.property.attribute.list=mosip.phone.template.property
resident.email.template.property.attribute.list=mosip.email.template.property
resident.fullAddress.template.property.attribute.list=mosip.address.template.property
resident.addressLine1.template.property.attribute.list=mosip.address.line1.template.property
resident.addressLine2.template.property.attribute.list=mosip.address.line2.template.property
resident.addressLine3.template.property.attribute.list=mosip.address.line3.template.property
resident.province.template.property.attribute.list=mosip.province.template.property
resident.city.template.property.attribute.list=mosip.city.template.property
resident.zone.template.property.attribute.list=mosip.zone.template.property
resident.postalCode.template.property.attribute.list=mosip.postal.code.template.property
resident.region.template.property.attribute.list=mosip.region.template.property
resident.gender.template.property.attribute.list=mosip.gender.template.property
resident.photo.template.property.attribute.list=mosip.photo.template.property
resident.preferredLang.template.property.attribute.list=mosip.preferred.language.template.property
resident.default.template.property.attribute.list=mosip.defualt.template.property

Class name of the referenceValidator

Commenting or removing this property will disable reference validator.

mosip.kernel.idobjectvalidator.referenceValidator=io.mosip.kernel.idobjectvalidator.impl.IdObjectReferenceValidator

Cache expiration time (in milliseconds)

template.cache.expiry.time.millisec=86400000

Request time validation

For validating request time as per before and after time limit (in seconds) in contact-details/update API.

resident.future.time.limit=60
resident.past.time.limit=60

Date time formatting styles

The java.time.format.FormatStyle enum to use for date time formatting based on locale. Allowed values with examples are:

  • FULL ('Tuesday, April 12, 1952 AD' or '3:30:42pm PST')

  • LONG('January 12, 1952')

  • MEDIUM ('Jan 12, 1952')

  • SHORT ('12.13.52' or '3:30pm')

Current value is MEDUIM. For more details refer to the enum.

resident.date.time.formmatting.style=MEDIUM
resident.date.time.replace.special.chars={" ": "_", "," : "", ":" : "."}

URL pattern for logging filter. For example, "/callback/" .Defaults to "/".

logging.level.root=INFO
logging.level.io.mosip.resident.batch=INFO
logging.level.io.mosip.resident.filter=DEBUG
resident.logging.filter.enabled=false
resident.logging.filter.url.pattern=/*

Rest template logger filter

This will print the request details such as URL, headers and body for debugging purpose. Default is false.

logging.level.io.mosip.resident.config.LoggingInterceptor=DEBUG
resident.rest.template.logging.interceptor.filter.enabled=false

Websub properties

subscriptions-delay-on-startup_millisecs=120000
re-subscription-interval-in-seconds=43200
resident.websub.request.decorator.filter.enabled=true

Last updated

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

#300: Mock Services -1st draft

Change request updated