Skip to content

Error code if the wallet is not installed #191

@awoie

Description

@awoie

We have a use case where a wallet backend handles HTTPS Deep Links (e.g., https://wallet.example.com) if the mobile platform does not invoke the user's wallet on the mobile device.

Expected flow:

  • The user visits the RP in their mobile browser.
  • The user taps a button containing a HTTPS Deep Link on the RP website.
  • The mobile browser checks with the mobile platform if the intent can be handled by an app.
  • In this case, it cannot be handled because the wallet is not installed.
  • The mobile browser redirects to the wallet backend (e.g., https://wallet.example.com). Note, this is standard behaviour on mobile platforms.
  • The wallet backend generates an error and redirects the user back with a wallet_unavailable error.
  • The RP can now respond to the wallet_unavailable error with an alternative flow that does not require a wallet.

To improve UX, the wallet backend could redirect the user back to the RP with an error code, but we have not defined one for this case. I couldn't find a suitable error code in OAuth either. Defining a custom error code is not an option since it would be wallet vendor specific and this information should not be disclosed to the RP.

My suggestion is to define a new error code, wallet_unavailable, that MAY be returned in such cases. Note that, as with many OAuth implementations, it is at the AS's discretion to return an error code at all.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions