aries_cloudagent.protocols.didexchange.v1_0 package¶
Subpackages¶
- aries_cloudagent.protocols.didexchange.v1_0.handlers package
- Submodules
- aries_cloudagent.protocols.didexchange.v1_0.handlers.complete_handler module
- aries_cloudagent.protocols.didexchange.v1_0.handlers.invitation_handler module
- aries_cloudagent.protocols.didexchange.v1_0.handlers.request_handler module
- aries_cloudagent.protocols.didexchange.v1_0.handlers.response_handler module
- aries_cloudagent.protocols.didexchange.v1_0.messages package
Submodules¶
aries_cloudagent.protocols.didexchange.v1_0.manager module¶
Classes to manage connection establishment under RFC 23 (DID exchange).
-
class
aries_cloudagent.protocols.didexchange.v1_0.manager.
DIDXManager
(session: aries_cloudagent.core.profile.ProfileSession)[source]¶ Bases:
aries_cloudagent.connections.base_manager.BaseConnectionManager
Class for managing connections under RFC 23 (DID exchange).
-
accept_complete
(complete: aries_cloudagent.protocols.didexchange.v1_0.messages.complete.DIDXComplete, receipt: aries_cloudagent.transport.inbound.receipt.MessageReceipt) → aries_cloudagent.connections.models.conn_record.ConnRecord[source]¶ Accept a connection complete message under RFC 23 (DID exchange).
Process a DIDXComplete message by looking up the connection record and marking the exchange complete.
Parameters: - complete – The DIDXComplete to accept
- receipt – The message receipt
Returns: The updated ConnRecord representing the connection
Raises: DIDXManagerError
– If the corresponding connection does not exist or is not in the response-sent state
-
accept_response
(response: aries_cloudagent.protocols.didexchange.v1_0.messages.response.DIDXResponse, receipt: aries_cloudagent.transport.inbound.receipt.MessageReceipt) → aries_cloudagent.connections.models.conn_record.ConnRecord[source]¶ Accept a connection response under RFC 23 (DID exchange).
Process a DIDXResponse message by looking up the connection request and setting up the pairwise connection.
Parameters: - response – The DIDXResponse to accept
- receipt – The message receipt
Returns: The updated ConnRecord representing the connection
Raises: DIDXManagerError
– If there is no DID associated with the connection responseDIDXManagerError
– If the corresponding connection is not in the request-sent state
-
create_request
(conn_rec: aries_cloudagent.connections.models.conn_record.ConnRecord, my_label: str = None, my_endpoint: str = None, mediation_id: str = None) → aries_cloudagent.protocols.didexchange.v1_0.messages.request.DIDXRequest[source]¶ Create a new connection request for a previously-received invitation.
Parameters: - conn_rec – The ConnRecord representing the invitation to accept
- my_label – My label for request
- my_endpoint – My endpoint
- mediation_id – The record id for mediation that contains routing_keys and service endpoint
Returns: A new DIDXRequest message to send to the other agent
-
create_request_implicit
(their_public_did: str, my_label: str = None, my_endpoint: str = None, mediation_id: str = None, use_public_did: bool = False) → aries_cloudagent.connections.models.conn_record.ConnRecord[source]¶ Create and send a request against a public DID only (no explicit invitation).
Parameters: - their_public_did – public DID to which to request a connection
- my_label – my label for request
- my_endpoint – my endpoint
- mediation_id – record id for mediation with routing_keys, service endpoint
- use_public_did – use my public DID for this connection
Returns: The new ConnRecord instance
-
create_response
(conn_rec: aries_cloudagent.connections.models.conn_record.ConnRecord, my_endpoint: str = None, mediation_id: str = None) → aries_cloudagent.protocols.didexchange.v1_0.messages.response.DIDXResponse[source]¶ Create a connection response for a received connection request.
Parameters: - conn_rec – The ConnRecord with a pending connection request
- my_endpoint – Current agent endpoint
- mediation_id – The record id for mediation that contains routing_keys and service endpoint
Returns: New DIDXResponse message
-
receive_invitation
(invitation: aries_cloudagent.protocols.out_of_band.v1_0.messages.invitation.InvitationMessage, their_public_did: str = None, auto_accept: bool = None, alias: str = None, mediation_id: str = None) → aries_cloudagent.connections.models.conn_record.ConnRecord[source]¶ Create a new connection record to track a received invitation.
Parameters: - invitation – invitation to store
- their_public_did – their public DID
- auto_accept – set to auto-accept invitation (None to use config)
- alias – optional alias to set on record
- mediation_id – record id for mediation with routing_keys, service endpoint
Returns: The new ConnRecord instance
-
receive_request
(request: aries_cloudagent.protocols.didexchange.v1_0.messages.request.DIDXRequest, recipient_did: str, recipient_verkey: str = None, my_endpoint: str = None, alias: str = None, auto_accept_implicit: bool = None, mediation_id: str = None) → aries_cloudagent.connections.models.conn_record.ConnRecord[source]¶ Receive and store a connection request.
Parameters: - request – The DIDXRequest to accept
- recipient_did – The (unqualified) recipient DID
- recipient_verkey – The recipient verkey: None for public recipient DID
- my_endpoint – My endpoint
- alias – Alias for the connection
- auto_accept – Auto-accept request against implicit invitation
- mediation_id – The record id for mediation that contains routing_keys and service endpoint
Returns: The new or updated ConnRecord instance
-
session
¶ Accessor for the current profile session.
Returns: The profile session for this did exchange manager
-
-
exception
aries_cloudagent.protocols.didexchange.v1_0.manager.
DIDXManagerError
(*args, error_code: str = None, **kwargs)[source]¶ Bases:
aries_cloudagent.core.error.BaseError
Connection error.
aries_cloudagent.protocols.didexchange.v1_0.message_types module¶
Message type identifiers for Connections.
aries_cloudagent.protocols.didexchange.v1_0.routes module¶
Connection handling admin routes.
-
class
aries_cloudagent.protocols.didexchange.v1_0.routes.
DIDXAcceptInvitationQueryStringSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Parameters and validators for accept invitation request query string.
-
my_endpoint
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=<aries_cloudagent.messaging.valid.Endpoint object>, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
my_label
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
-
class
aries_cloudagent.protocols.didexchange.v1_0.routes.
DIDXAcceptRequestQueryStringSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Parameters and validators for accept-request request query string.
-
mediation_id
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=<aries_cloudagent.messaging.valid.UUIDFour object>, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
my_endpoint
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=<aries_cloudagent.messaging.valid.Endpoint object>, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
-
class
aries_cloudagent.protocols.didexchange.v1_0.routes.
DIDXConnIdMatchInfoSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Path parameters and validators for request taking connection id.
-
conn_id
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=True, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
-
class
aries_cloudagent.protocols.didexchange.v1_0.routes.
DIDXConnIdRefIdMatchInfoSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Path parameters and validators for request taking connection and ref ids.
-
conn_id
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=True, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
ref_id
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=True, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
-
class
aries_cloudagent.protocols.didexchange.v1_0.routes.
DIDXCreateRequestImplicitQueryStringSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Parameters and validators for create-request-implicit request query string.
-
mediation_id
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=<aries_cloudagent.messaging.valid.UUIDFour object>, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
my_endpoint
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=<aries_cloudagent.messaging.valid.Endpoint object>, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
my_label
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
their_public_did
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=<aries_cloudagent.messaging.valid.MaybeIndyDID object>, required=True, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
use_public_did
= <fields.Boolean(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid boolean.'})>¶
-
-
class
aries_cloudagent.protocols.didexchange.v1_0.routes.
DIDXReceiveRequestImplicitQueryStringSchema
(*args, **kwargs)[source]¶ Bases:
aries_cloudagent.messaging.models.openapi.OpenAPISchema
Parameters and validators for receive-request-implicit request query string.
-
alias
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
auto_accept
= <fields.Boolean(default=<marshmallow.missing>, attribute=None, validate=None, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid boolean.'})>¶
-
mediation_id
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=<aries_cloudagent.messaging.valid.UUIDFour object>, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
my_endpoint
= <fields.String(default=<marshmallow.missing>, attribute=None, validate=<aries_cloudagent.messaging.valid.Endpoint object>, required=False, load_only=False, dump_only=False, missing=<marshmallow.missing>, allow_none=False, error_messages={'required': 'Missing data for required field.', 'null': 'Field may not be null.', 'validator_failed': 'Invalid value.', 'invalid': 'Not a valid string.', 'invalid_utf8': 'Not a valid utf-8 string.'})>¶
-
-
aries_cloudagent.protocols.didexchange.v1_0.routes.
didx_accept_invitation
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb0546d9c50>)[source]¶ Request handler for accepting a stored connection invitation.
Parameters: request – aiohttp request object Returns: The resulting connection record details
-
aries_cloudagent.protocols.didexchange.v1_0.routes.
didx_accept_request
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb0546d9c50>)[source]¶ Request handler for accepting a stored connection request.
Parameters: request – aiohttp request object Returns: The resulting connection record details
-
aries_cloudagent.protocols.didexchange.v1_0.routes.
didx_create_request_implicit
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb0546d9c50>)[source]¶ Request handler for creating and sending a request to an implicit invitation.
Parameters: request – aiohttp request object Returns: The resulting connection record details
-
aries_cloudagent.protocols.didexchange.v1_0.routes.
didx_receive_request_implicit
(request: <sphinx.ext.autodoc.importer._MockObject object at 0x7fb0546d9c50>)[source]¶ Request handler for receiving a request against public DID’s implicit invitation.
Parameters: request – aiohttp request object Returns: The resulting connection record details