Documentation
¶
Index ¶
- Constants
- type Connection
- type ConnectionSignature
- type Event
- type Invitation
- type OOBInvitation
- type Request
- type Response
- type Service
- func (s *Service) Accept(msgType string) bool
- func (s *Service) AcceptExchangeRequest(connectionID, publicDID, label string) error
- func (s *Service) AcceptInvitation(connectionID, publicDID, label string) error
- func (s *Service) CreateImplicitInvitation(inviterLabel, inviterDID, inviteeLabel, inviteeDID string) (string, error)
- func (s *Service) HandleInbound(msg service.DIDCommMsg, myDID, theirDID string) (string, error)
- func (s *Service) HandleOutbound(msg service.DIDCommMsg, myDID, theirDID string) error
- func (s *Service) Name() string
- func (s *Service) RespondTo(i *OOBInvitation) (string, error)
- func (s *Service) SaveInvitation(i *OOBInvitation) error
Constants ¶
const ( // DIDExchange did exchange protocol DIDExchange = "didexchange" // PIURI is the did-exchange protocol identifier URI PIURI = "https://didcomm.org/didexchange/1.0" // InvitationMsgType defines the did-exchange invite message type. InvitationMsgType = PIURI + "/invitation" // RequestMsgType defines the did-exchange request message type. RequestMsgType = PIURI + "/request" // ResponseMsgType defines the did-exchange response message type. ResponseMsgType = PIURI + "/response" // AckMsgType defines the did-exchange ack message type. AckMsgType = PIURI + "/ack" )
const ( // StateIDInvited marks the invited phase of the did-exchange protocol. StateIDInvited = "invited" // StateIDRequested marks the requested phase of the did-exchange protocol. StateIDRequested = "requested" // StateIDResponded marks the responded phase of the did-exchange protocol. StateIDResponded = "responded" // StateIDCompleted marks the completed phase of the did-exchange protocol. StateIDCompleted = "completed" // StateIDAbandoned marks the abandoned phase of the did-exchange protocol. StateIDAbandoned = "abandoned" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Connection ¶
type Connection struct { DID string `json:"did,omitempty"` DIDDoc *did.Doc `json:"did_doc,omitempty"` }
Connection connection
type ConnectionSignature ¶
type ConnectionSignature struct { Type string `json:"@type,omitempty"` Signature string `json:"signature,omitempty"` SignedData string `json:"sig_data,omitempty"` SignVerKey string `json:"signers,omitempty"` }
ConnectionSignature connection signature
type Event ¶ added in v0.1.3
type Event interface { // connection ID ConnectionID() string // invitation ID InvitationID() string }
Event properties related api. This can be used to cast Generic event properties to DID Exchange specific props.
type Invitation ¶
type Invitation struct { // the Image URL of the connection invitation ImageURL string `json:"imageUrl,omitempty"` // the Service endpoint of the connection invitation ServiceEndpoint string `json:"serviceEndpoint,omitempty"` // the RecipientKeys for the connection invitation RecipientKeys []string `json:"recipientKeys,omitempty"` // the ID of the connection invitation ID string `json:"@id,omitempty"` // the Label of the connection invitation Label string `json:"label,omitempty"` // the DID of the connection invitation DID string `json:"did,omitempty"` // the RoutingKeys of the connection invitation RoutingKeys []string `json:"routingKeys,omitempty"` // the Type of the connection invitation Type string `json:"@type,omitempty"` Thread *decorator.Thread `json:"~thread,omitempty"` }
Invitation model
Invitation defines DID exchange invitation message https://github.com/hyperledger/aries-rfcs/tree/master/features/0023-did-exchange#0-invitation-to-exchange
TODO all uses of this invitation struct should be replaced with the new OOB one. The new one should be renamed
to 'Invitation'.
type OOBInvitation ¶ added in v0.1.3
type OOBInvitation struct { // ID of this invitation (for record-keeping purposes). // TODO can we remove this? ID string `json:"@id"` // TODO remove this Type string `json:"@type"` // ID of the thread from which this invitation originated. // This will become the parent thread ID of the didexchange protocol instance. ThreadID string // Label of the connection invitation. Label string // Target destination. // This can be any on of: // - a string with a valid DID // - a valid `did.Service` Target interface{} }
OOBInvitation to connect with did-exchange.
type Request ¶
type Request struct { Type string `json:"@type,omitempty"` ID string `json:"@id,omitempty"` Label string `json:"label,omitempty"` Connection *Connection `json:"connection,omitempty"` Thread *decorator.Thread `json:"~thread,omitempty"` }
Request defines a2a DID exchange request https://github.com/hyperledger/aries-rfcs/tree/master/features/0023-did-exchange#1-exchange-request
type Response ¶
type Response struct { Type string `json:"@type,omitempty"` ID string `json:"@id,omitempty"` ConnectionSignature *ConnectionSignature `json:"connection~sig,omitempty"` Thread *decorator.Thread `json:"~thread,omitempty"` }
Response defines a2a DID exchange response https://github.com/hyperledger/aries-rfcs/tree/master/features/0023-did-exchange#2-exchange-response
type Service ¶
Service for DID exchange protocol
func (*Service) AcceptExchangeRequest ¶
AcceptExchangeRequest accepts/approves connection request.
func (*Service) AcceptInvitation ¶
AcceptInvitation accepts/approves connection invitation.
func (*Service) CreateImplicitInvitation ¶ added in v0.1.1
func (s *Service) CreateImplicitInvitation(inviterLabel, inviterDID, inviteeLabel, inviteeDID string) (string, error)
CreateImplicitInvitation creates implicit invitation. Inviter DID is required, invitee DID is optional. If invitee DID is not provided new peer DID will be created for implicit invitation exchange request.
func (*Service) HandleInbound ¶
HandleInbound handles inbound didexchange messages.
func (*Service) HandleOutbound ¶
func (s *Service) HandleOutbound(msg service.DIDCommMsg, myDID, theirDID string) error
HandleOutbound handles outbound didexchange messages.
func (*Service) RespondTo ¶ added in v0.1.3
func (s *Service) RespondTo(i *OOBInvitation) (string, error)
RespondTo this inbound invitation and return with the new connection record's ID.
func (*Service) SaveInvitation ¶ added in v0.1.3
func (s *Service) SaveInvitation(i *OOBInvitation) error
SaveInvitation saves this invitation created by you.