When using Aries Cloudagent Python (ACA-Py) most of the interactions with other agents occur on a connection, established beforehand and persisted across interactions.
There are, however, scenarios where a connection-less interaction is useful, if not preferable. With ACA-Py the only type of connection-less interaction supported "out-of-the-box" is submitting proof requests.
When utilizing a connection-less proof request, the verifier is identified by the presence of a service decorator
section in the received proof request, rather than a connection identifier. The end result, however, is the same: the prover/holder knows where to send the proof, even if a connection with the verifier was not established ahead of time.
See this link for reference.
The above example was taken from one of the demo apps using vc-authn-oidc for authentication, and provides an example of connection-less proof request.
The notable attributes in the JSON payload are:
@id
: this identifies the proof request the holder/prover is responding torequest_presentations~attach
: this is the payload describing what needs to be proven (the base64
attribute can de decoded to read the requested attributes and predicates)~service
: defines where the response to the proof request should be sent for verification, specifying in particular the serviceEndpoint
(in this case an ACA-Py agent endpoint), the agent's recipientKeys
and - in case the agent was behind a mediator - the routingKeys
for the mediator agents (not 100% sure about this aslast bit I have not tested it, but I believe it is correct).To build a connection-less proof request, the verifier:
/present-proof/create-request
to generate the payload that will be base64-encoded and placed in the frinal proof-request bodyserviceEndpoint
property in the service decorator, and the agent's public DID verkey
to populate the recipientKeys
array.serviceEndpoint
would be themediator's and the routingKeys
array would include the appropriate set of keys to route the request - unsure about how to populate this.