uport-mobile icon indicating copy to clipboard operation
uport-mobile copied to clipboard

Requesting disclosure of 'requested' credentials only returns the latest one even if there are multiple with the same key

Open mi-xu opened this issue 6 years ago • 0 comments

Steps to reproduce:

  • uPort mobile app holds multiple credentials with the same key (ex: nickname: 'bob', nickname: 'rob')
  • App calls connect.requestDisclosure({ requested: ['nickname'] })
  • uPort mobile app receives disclosure request and prompts user to accept or decline (first part of the issue is that the prompt does not display values for the requested attribute)
  • User discloses credentials, but disclosed credentials only contain a single value of the latest credential for each key

Success criteria:

  • Disclosure request prompt on the mobile app displays some indication of the available data for each attribute
    • Requesting the same attributes using 'verified' instead of 'requested' will list the issuer of each credential with that key
    • Listing each value may work for simple data types, but what about complex objects?
  • Response should contain an array of all credentials that match the 'requested' key if there are multiple

Other considerations:

  • What should be the correct behavior when there are credentials with the same key as local profile attributes like 'name' and 'email'?
  • Finer control by the user over which credentials get disclosed to fulfill a request needs to be implemented as a separate feature in the near future

mi-xu avatar Nov 14 '18 17:11 mi-xu