-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
For "URL" based credential handlers, deliver multiprotocols wallet interaction URL next to protocols
#165
Comments
@dlongley In the current version of CHAPI (AFAIK), the CHAPI request comes in as a URL with a query parameter named In the new version proposed here, are you recommending that the initial URL that comes in would still contain the Also, would you recommend that wallets keep support for the older URL format for backwards compatibility? |
This is a detail we'll need to sort out. Either way, the new mechanism would only be triggered / used with credential handlers that announce support for the "interact" protocol (or whatever we name this).
I don't think this would be necessary for wallets (credential handlers) to do. The credential mediator will continue backwards compatibility for some time for credential handlers that announce support for the older mechanism, however, a credential handler that announces support for the new "interact" protocol would automatically be opting into receiving the new format (whatever that ends up being). No credential handler should announce support for this until it's supported by the credential mediator, but once it is, there should no reason why the wallet would need to worry about receiving the old format, i.e., no need to support it from that point forward. |
We should phase out the use of
protocols
embedded as JSON to deliver CHAPI requests to "URL" based credential handlers -- and instead pass a wallet interaction "protocols" URL, that when retrieved via HTTP GET w/"accept: application/json" (from the requesting origin), will deliver theprotocols
object.This approach provides better origin security and reduces the initial URL (query param) size sent to the credential handler's deep link, allowing for larger URLs to be included in the protocols object.
This might be done by having a new credential handler mechanism (name TBD, but perhaps
interact
) instead of just augmenting "URL".Alternatively, if
interact
is provided inprotocols
to the credential handler API and that protocol is supported by the credential handler (per its manifest.json registration metadata), just that URL could be included inprotocols
, solving the problem without any other changes. For example:With the above object and a credential handler that has announced it understands
"interact"
, the mediator will only send (to the handler, if chosen), even if the handler also announces it understands (some of) the other protocols:The text was updated successfully, but these errors were encountered: