Documentation
¶
Index ¶
- Constants
- Variables
- func CreateAuthorizationRequest(reason, sender, callbackURL string, opts ...AuthorizationRequestMessageOpts) protocol.AuthorizationRequestMessage
- func CreateAuthorizationRequestWithMessage(reason, message, sender, callbackURL string, ...) protocol.AuthorizationRequestMessage
- func CreateContractInvokeRequest(reason, sender string, transactionData protocol.TransactionData, ...) protocol.ContractInvokeRequestMessage
- func CreateContractInvokeRequestWithMessage(reason, _, sender string, transactionData protocol.TransactionData, ...) protocol.ContractInvokeRequestMessage
- func SetDocumentLoader(schemaLoader ld.DocumentLoader)
- func ValidateAuthRequest(request protocol.AuthorizationRequestMessage) error
- func VerifyState(ctx context.Context, id, s *big.Int, opts state.ExtendedVerificationsOptions) error
- type AuthorizationRequestMessageConfig
- type AuthorizationRequestMessageOpts
- type Verifier
- func (v *Verifier) FullVerify(ctx context.Context, token string, ...) (*protocol.AuthorizationResponseMessage, error)
- func (v *Verifier) SetPackageManager(manager iden3comm.PackageManager)
- func (v *Verifier) SetPacker(packer iden3comm.Packer) error
- func (v *Verifier) SetupAuthV2ZKPPacker() error
- func (v *Verifier) SetupJWSPacker(didResolver packers.DIDResolverHandlerFunc) error
- func (v *Verifier) VerifyAuthResponse(ctx context.Context, response protocol.AuthorizationResponseMessage, ...) error
- func (v *Verifier) VerifyJWZ(ctx context.Context, token string, opts ...pubsignals.VerifyOpt) (t *jwz.Token, err error)
- type VerifierOption
Constants ¶
const UniversalResolverURL = "https://dev.uniresolver.io/1.0/identifiers"
UniversalResolverURL is a url for universal resolver
Variables ¶
var UniversalDIDResolver = packers.DIDResolverHandlerFunc(func(did string) (*verifiable.DIDDocument, error) { didDoc := &verifiable.DIDDocument{} resp, err := http.Get(fmt.Sprintf("%s/%s", UniversalResolverURL, did)) if err != nil { return nil, err } defer func() { err := resp.Body.Close() if err != nil { log.Fatal(err) } }() body, err := io.ReadAll(resp.Body) if err != nil { return nil, err } var didMetadata map[string]interface{} err = json.Unmarshal(body, &didMetadata) if err != nil { return nil, err } doc, ok := didMetadata["didDocument"] if !ok { return nil, errors.New("did document not found") } docBts, err := json.Marshal(doc) if err != nil { return nil, err } err = json.Unmarshal(docBts, &didDoc) if err != nil { return nil, err } return didDoc, nil })
UniversalDIDResolver is a resolver for universal resolver
Functions ¶
func CreateAuthorizationRequest ¶
func CreateAuthorizationRequest(reason, sender, callbackURL string, opts ...AuthorizationRequestMessageOpts) protocol.AuthorizationRequestMessage
CreateAuthorizationRequest creates new authorization request message sender - client identifier reason - describes purpose of request callbackURL - url for authorization response
func CreateAuthorizationRequestWithMessage ¶
func CreateAuthorizationRequestWithMessage(reason, message, sender, callbackURL string, opts ...AuthorizationRequestMessageOpts) protocol.AuthorizationRequestMessage
CreateAuthorizationRequestWithMessage creates new authorization request with message for signing with jwz
func CreateContractInvokeRequest ¶
func CreateContractInvokeRequest( reason, sender string, transactionData protocol.TransactionData, zkRequests ...protocol.ZeroKnowledgeProofRequest, ) protocol.ContractInvokeRequestMessage
CreateContractInvokeRequest creates new contract invoke request message reason - describes purpose of request sender - sender identifier transactionData - data for on chain verification zkRequests - zero knowledge proof request(s)
func CreateContractInvokeRequestWithMessage ¶
func CreateContractInvokeRequestWithMessage( reason, _, sender string, transactionData protocol.TransactionData, zkRequests ...protocol.ZeroKnowledgeProofRequest, ) protocol.ContractInvokeRequestMessage
CreateContractInvokeRequestWithMessage creates new contract invoke request message with message
func SetDocumentLoader ¶
func SetDocumentLoader(schemaLoader ld.DocumentLoader)
SetDocumentLoader sets the default schema loader that would be used if other is not set with WithDocumentLoader option. Also, this document loader is set for go-schema-processor library to use it for merklize.
func ValidateAuthRequest ¶ added in v2.2.0
func ValidateAuthRequest(request protocol.AuthorizationRequestMessage) error
ValidateAuthRequest verifies auth request message
func VerifyState ¶
func VerifyState(ctx context.Context, id, s *big.Int, opts state.ExtendedVerificationsOptions) error
VerifyState allows to verify state without binding to verifier instance
Types ¶
type AuthorizationRequestMessageConfig ¶ added in v2.6.0
AuthorizationRequestMessageConfig - configuration for CreateAuthorizationRequest.
type AuthorizationRequestMessageOpts ¶ added in v2.6.0
type AuthorizationRequestMessageOpts func(v *AuthorizationRequestMessageConfig)
AuthorizationRequestMessageOpts sets options.
func WithExpiresTime ¶ added in v2.6.0
func WithExpiresTime(expiresTime *time.Time) AuthorizationRequestMessageOpts
WithExpiresTime sets the expires time message option.
type Verifier ¶
type Verifier struct {
// contains filtered or unexported fields
}
Verifier is a struct for auth instance
func NewVerifier ¶
func NewVerifier( keyLoader loaders.VerificationKeyLoader, resolver map[string]pubsignals.StateResolver, opts ...VerifierOption, ) (*Verifier, error)
NewVerifier returns setup instance of auth library
func (*Verifier) FullVerify ¶
func (v *Verifier) FullVerify( ctx context.Context, token string, request protocol.AuthorizationRequestMessage, opts ...pubsignals.VerifyOpt, ) (*protocol.AuthorizationResponseMessage, error)
FullVerify performs verification of jwz token and auth request
func (*Verifier) SetPackageManager ¶
func (v *Verifier) SetPackageManager(manager iden3comm.PackageManager)
SetPackageManager sets the package manager for the VerifierBuilder.
func (*Verifier) SetupAuthV2ZKPPacker ¶
SetupAuthV2ZKPPacker sets the custom packer manager for the VerifierBuilder.
func (*Verifier) SetupJWSPacker ¶
func (v *Verifier) SetupJWSPacker(didResolver packers.DIDResolverHandlerFunc) error
SetupJWSPacker sets the JWS packer for the VerifierBuilder.
func (*Verifier) VerifyAuthResponse ¶
func (v *Verifier) VerifyAuthResponse( ctx context.Context, response protocol.AuthorizationResponseMessage, request protocol.AuthorizationRequestMessage, opts ...pubsignals.VerifyOpt, ) error
VerifyAuthResponse performs verification of auth response based on auth request
type VerifierOption ¶
type VerifierOption func(opts *verifierOpts)
VerifierOption is a function to set options for Verifier instance
func WithDIDResolver ¶
func WithDIDResolver(resolver packers.DIDResolverHandlerFunc) VerifierOption
WithDIDResolver sets the DID resolver for Verifier instance. The default value is UniversalDIDResolver.
func WithDocumentLoader ¶
func WithDocumentLoader(docLoader ld.DocumentLoader) VerifierOption
WithDocumentLoader sets the document loader for Verifier instance
func WithIPFSClient ¶
func WithIPFSClient(ipfsCli schemaloaders.IPFSClient) VerifierOption
WithIPFSClient sets the IPFS client for document loader of Verifier instance. If document loader is set with WithDocumentLoader function, this option is ignored.
func WithIPFSGateway ¶
func WithIPFSGateway(ipfsGW string) VerifierOption
WithIPFSGateway sets the IPFS gateway for document loader of Verifier instance. If document loader is set with WithDocumentLoader function, this option is ignored. If WithIPFSClient is set, this option is ignored also.