Signed Fetch
When protocol clients what to make authenticated HTTPs requests, they can leverage the standard signed fetch mechanism.
A signed fetch is request that includes an authentication chain, represented through headers. Servers with Decentraland-compatible APIs can validate identities before, for example, allowing requests from scenes or creating adapters.
Headers
The information the server needs to validate the authentication chain is relayed in 3+ headers:
X-Identity-Timestamp: thetimestampfield included in the signed payload (see below).X-Identity-Metadata: themetadatafield included in the signed payload (see below).X-Identity-AuthChain-<index>: the JSON-serialized authentication step<index>, starting from0.
The transmitted chain is validated by the server as specified.
Body
The request body is unspecified. Services have full flexibility to use any protocols or formats they like.
Payload
The authentication chain payload for a signed fetch is a lower-case, colon-separated string that includes some of the request elements:
<method>:<path>:<timestamp>:<metadata>The method and path fields must match those of the request, and timestamp is the same as in the X-Identity-Timestamp header.
The last field, metadata, can have arbitrary content.
For example:
Last updated