As a wallet user, I want to connect to a wallet attached storage server, so I can use it to share data.
This user story was directly inspired by the following user story envisioned for https://lcw.app/.
Alice connects her Learner Credential Wallet to a Wallet-Attached Storage provider during wallet setup.
We seek to socialize this user story widely as a core user story for the Wallet Attached Storage protocol.
Plan of conversation:
If you want to be a part of the conversation, please publish feedback and link to Wallet Attached Storage.
This section describes how to confirm that an implementation has satisfied the user story.
Given
When
@method
and @request-target
components
using an Ed25519 keyWhen the server successfully verified the request
200
, 201
, or 204
When the server is unable to verify the request authorization
401
WWW-Authenticate
headersBased on the response status code, the wallet can determine whether it has successfully connected to the Wallet Attached Storage server. A Successful response (i.e. 2xx response status) indicates a successful connection.
Simply PUT a representation of the Space as JSON to /space/:spaceUuid
, signed by the key.
Encode the key as a Multikey and refer to it as a did:key
verification method URI.
The mb-value
MUST start with z6Mk
like cid-1.0 Example 9.
Other keyId
syntaxes MAY be supported.
PUT /space/:spaceUuid HTTP/1.1
Authorization: Signature keyId="did:key:{mb-value}#{mb-value}"…
{
"name": "Connection to Wallet Attached Storage"
}
wallet-attached-storage-server supports authentication via Multikey ed25519
@wallet.storage/wasup supports authentication via Multikey ed25519 and can load keys from files generated by ssh-keygen -t ed25519