Skip to content

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

@msirringhaus

Description

@msirringhaus

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions