Skip to content
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

Managing request format extensibility without sacrificing security #102

Open
marcoscaceres opened this issue Apr 16, 2024 · 3 comments
Open

Comments

@marcoscaceres
Copy link
Collaborator

We need to figure out how to allow extensions to the .request object without sacrificing security and putting users at risk by passing any random data to wallets or an OS. This may be a technical solution or standards solution.

It would be good to enumerate the risks, challenges, requirements, and different possible solutions.

@OR13
Copy link
Contributor

OR13 commented Apr 16, 2024

By default in JSON, properties that are not understood are ignored (and preserved).

You could use JSON Schema to define an object structure where additional properties that are not recognized cause an error to be raised.

You could use normative text to say that for this specific object, any properties not defined in WebIDL, will cause an error to be raised, and name the error.

In case you want to remove a required property in the future, you might need to consider versioning the object structure.

@RByers
Copy link
Member

RByers commented Apr 17, 2024

As now stated in our explainer, I think it's important that we find a solution which doesn't block the rapidly evolving identity ecosystem (especially EUDI) on browser updates.

Maybe our protocol registry could point to JSON schema definitions which the browser could fetch and use to validate the request format?

@tplooker
Copy link

Just cross linking #100 which is one possible solution to this particular problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants