Skip to content

What protocols should a user agent implement? #439

@marcoscaceres

Description

@marcoscaceres

In #401, I suggested we add the following:

    <p>
       A [=user agent=] MUST implement at least one of the [=digital credential/exchange protocol=] listed in the [=table of exchange protocols=].
       It is RECOMMENDED that user agent to implement all the [=digital credential/exchange protocols=] listed in the [=table of exchange protocols=]. 
    </p>
    <aside class="note" title="Checking which exchange protocols a user agent allows">
      <p>Developers can check which [=digital credential/exchange protocols=]
      a user agent allows by calling the `DigitalCredential.`{{DigitalCredential.userAgentAllowsProtocol()}} static method.
      See [[[#checking-if-protocol-is-allowed]]] for a usage example.
      </p>
    </aside>

As:

  1. It forces user agents to support at least one - so at least developers know what they are going to get.
  2. It strongly encourages implementing all, but it doesn't force it (we can't force it regardless because of 3 below or because of platform limitations).
  3. It keeps existing and "legacy" user agents as compliant, specially in the case we add new exchange protocols in the future. For example, might be impossible to implement some protocol on a particular platform, but feasible to implement other protocols.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agenda+Add to the weekly agenda

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions