Skip to content

URL-Scheme is the wrong way conveying (wallet-)metadata #411

@ubamrein

Description

@ubamrein

We recently had a discussion about the invocation for the wallet (especially in the same device flow). Currently, there are no concrete options available which are better than the custom url-scheme method (which has obvious issues security wise but also just UX wise), so we kind of relay on that for the moment.

However, defining a custom url-scheme for any new set of use-case/algorithms/ leads to even more issues.

Say we have a wallet supporting many different algorithms, also maybe ones that are not explicitly in the RFCs (yet). This goes on for whatever time amount. Then a new format makes it into openid4vp say JSON-LD, and the y introduce the json-ld-openid4vp:// custom url scheme. Now our initial wallet already supported json-ld for whatever reason, but did not put the json-ld-openid4vp:// custom url-scheme into the application manifest (plist or whatever way) for obvious reasons (it was defined later), hence cannot communicate with the new service. This is a pity, as it would be supported. Even worse, phone group A might not be able to update to the newest wallet version (as for device-fragmentation whatever reason) and are stuck with the version that actually supported json-ld, but "does not" because a new url-scheme was chosen.

In my opinion the current ways of communicating a) data-formats and b) algorithms for either signing or/and encryption are enough (c.f. client-metadata, dif-pex/dcql). There is no need for various different custom-url schemes. If a wallet supports the set of format/sig/enc then it knows that.

If an RP wants to enforce a specific profile, I'd rather suggest using something like ACR from the openid world, say profile with a url to a profile describing it (what the difference to the metadata is, I don't know, but there seems to be a wish to be able to do that)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions