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

[Extensions] Introduce more informative enum for Extension results #79

Open
msirringhaus opened this issue Feb 21, 2025 · 0 comments
Open

Comments

@msirringhaus
Copy link
Collaborator

From my reading of the spec, the result of client extension processing on either get() or create() could be:

  1. Accept - Use the client extension input as client extension output. This is used for authenticator extensions that require no processing on the client, eg. 12.3. Large Blob Key (largeBlobKey): Client extension input / output / processing.
  2. Accept & update - The client re-writes the authenticator extension input, with different fields, e.g. 12.5 HMAC Secret Extension (hmac-secret): Client extension processing.
  3. Drop - Remove this extension's payload altogether from the authenticator request, e.g. 12.1. Credential Protection (credProtect): Client extension processing drops the create() payload if credBlob size is unexpected.
enum ClientExtensionProcessingResult {
  Accept(cbor::Map),
  Drop,
}  

Originally posted by @AlfioEmanueleFresta in #77 (comment)

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

No branches or pull requests

1 participant