# Dentity : OIDC Verification Dentity has the following requirements for their verification uses - Login with SMS - Verification Types - Possession of credential - Sharing credential details [Recorded video from meeting](https://grain.com/app/editor-invite/recording/efd27a9e-d226-44cf-9f01-750840153d16?token=NMxRRamIReZerG9hsmCf3raiDufCPZVtxFe8gd3D&referrer_id=33fd7c5f-b42a-4677-af1a-8ed8973d25ee) ## Login with SMS Wallet holders should be able to login using their SMS as MFA provider. It is OK if this is only enabled only for US/Canada customers #### Required Work - **[feature]** Support SMS login - **[server]** Integration with Twilio - `AccountService.SignIn` support for SMS - `WalletService.Send` support for SMS - (optional) Add support for SMS in addition to Email associated with existing wallet - (optional) Allow multiple emails or SMS associated with a wallet - (optional) Support updating organization/wallet name - (optional) Notify users by SMS or Email that they have received a new item/credential - **[UI]** Twilio templates for Email notifications - **[UX]** Twilio templates for SMS notifications ## Verification Types Dentity has identified 2 verification workflows: ### Possession of credential Verify if holder has credential, but don't reveal any subject details. This can be implemented by creating a proof that doesn't reveal anything in the `credentialSubject` field, but does reveal issuer, revocation status, schema, etc. ### Sharing credential details Verify credential by revealing subject details with selective disclosure option. This can be implemented by creating a proof that asks the user to select which fields in the `credentialSubject` they want revealed. #### Required Work - OIDC Service - **[authorize endpoint]** Support specifying required subject fields disclosure (any, none, etc) - **[authorize endpoint]** Support selection of credentials by issuer (only supports template now) - **[authorize endpoint]** Support UI hinting for login (sms, email, both, default, etc) - Create proof reveal frame based on input parameters and field selections - Support/verify organization names upon registration (this is already in) - OIDC Web - Login with SMS screen - (optional) If UI hinting not specified, present screen for login with Email or SMS - Credentail request screen for use case 1 (no field selection) - Credentail request screen for use case 2, select credential and fields to disclose - (optional) Support branding - this can be very simple to start with, by specifying logo and accent color, but it does require server endpoint and sdk support ### Questions - What are the timelines for us to give to dentity? #### OIDC Verifier Sample - Setup the verifier ecosystem (in DEV environment) - Create new ecosystem - Create a sample template for a credential (citizenship card, vaccination, event ticket) - Issue a credential to person with email A - Setup a JS based example - Integrate OIDC4VP flow using the ecosystem and template created above - Should be pure client application, no backend - Using the oidc ts library As a user, I will arrive at verifier web site, and be able to present my credential in order to perform an action Action = Login with Citizenship Card `trinsic-id/server` will have `server` in `oidc-app-service` sample client in `client` folder
{"metaMigratedAt":"2023-06-16T23:02:49.660Z","metaMigratedFrom":"Content","title":"Dentity : OIDC Verification","breaks":true,"contributors":"[{\"id\":\"1b4e43e9-a87f-4f8a-b4c9-06579f0b9a2a\",\"add\":741,\"del\":2},{\"id\":\"40d296f4-0349-472e-adf3-50fb21f82265\",\"add\":2773,\"del\":102}]"}
Expand menu