In the technical working group call on 9 December 2021, there was a debate about whether to keep the namespaceIdentifier in the path of the endpoints, or whether it would be better to infer this from the authentication.
PUT /customer-accounts/me/access-passes/{namespaceIdentifier}
Although the call moved in favour of removing the identifier completely, on reflection this actually creates a few design challenges:
The resulting @id of the created Barcode (e.g. "https://id.eg.com/customer-accounts/fdc14503-275e-46d3-9922-45b986c9f9aa/access-pass/{namespaceIdentifier}") is not globally unique without the namespace identifier, as it will change depending on the authentication in use.
Future extension to the spec to allow multiple namespaces to be accessed via the same authentication becomes problematic
It creates the potential for strange and difficult-to-debug behaviour if there are issues with the authentication on either the Broker or Booking System side.
To mitigate these:
The reserved namespaceIdentifier"broker-default" is defined, which uses the authentication to determine which namespace to use
Only create/update/delete of broker-default namespace is supported in this version of the specification
@id is not included in the returned Barcode, as it is unnecessary implementation complexity, however identifier (the internal namespaceIdentifier) is included to aid debugging.
In the technical working group call on 9 December 2021, there was a debate about whether to keep the
namespaceIdentifier
in the path of the endpoints, or whether it would be better to infer this from the authentication.PUT /customer-accounts/me/access-passes/{namespaceIdentifier}
Although the call moved in favour of removing the identifier completely, on reflection this actually creates a few design challenges:
@id
of the created Barcode (e.g."https://id.eg.com/customer-accounts/fdc14503-275e-46d3-9922-45b986c9f9aa/access-pass/{namespaceIdentifier}"
) is not globally unique without the namespace identifier, as it will change depending on the authentication in use.To mitigate these:
namespaceIdentifier
"broker-default"
is defined, which uses the authentication to determine which namespace to usebroker-default
namespace is supported in this version of the specification@id
is not included in the returnedBarcode
, as it is unnecessary implementation complexity, howeveridentifier
(the internalnamespaceIdentifier
) is included to aid debugging.