uport-mobile
uport-mobile copied to clipboard
Requesting disclosure of 'requested' credentials only returns the latest one even if there are multiple with the same key
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