TalaoDAO / AltMe

Talao / Altme wallet : Open source Self Sovereign Identity wallet. Multi ecosystem support : EBSI conformant. ARF EUDI wallet implementation, DIIP and more.
https://talao.io
Apache License 2.0
40 stars 13 forks source link

OIDC4VP sd-jwt presentation with limited_disclosure required with optional attribute true or false and screen to check boxes #2679

Closed ThierryThevenet closed 1 month ago

ThierryThevenet commented 1 month ago

when the limited disclosure is required, the wallet displays a screen with only the attributes required available to check or uncheck

if no optional or optional is false the check boxes must be checked by default and user cannot uncheck it if the attribute optional is true, the user can uncheck the box other attributes are not proposed to user as they are not required (no box to check)

see below family_name is cheked and user cannot unchek but age_equal_or_over.18 is optional so user can check or uncheck


"constraints": {
        "limit_disclosure": "required",
        "fields": [
          {
            "path": [
              "$.vct"
            ],
            "filter": {
              "type": "string",
              "const": "urn:eu.europa.ec.eudi:pid:1"
            }
          },
          {
            "path": [
              "$.family_name"
            ]
          },
          {
            "path": [
              "$.given_name"
            ]
          },
          {
            "path": [
              "$.birthdate"
            ]
          },
          {
            "path": [
              "$.iat"
            ]
          },
{
            "path": [
              "$.exp"
            ]
          },
          {
            "path": [
              "$.issuing_authority"
            ]
          },
          {
            "path": [
              "$.issuing_country"
            ]
          },
          {
            "path": [
              "$.age_equal_or_over.18"
            ],
            "optional": true
          },
          {
            "path": [
              "$.address.formatted"
            ],
            "optional": true
          }
        ]
      }
    }
  ]
}

File (6) t