Documentation
¶
Index ¶
- type AddConsentRequest
- type AddDocumentIdentityRequest
- type Client
- func (c *Client) AddConsent(ctx context.Context, req *AddConsentRequest) error
- func (c *Client) AddDocumentIdentity(ctx context.Context, req *AddDocumentIdentityRequest) error
- func (c *Client) AddPIDUser(ctx context.Context, req *vcclient.AddPIDRequest) error
- func (c *Client) CreateCredentialOfferLookupMetadata(ctx context.Context) error
- func (c *Client) DeleteDocument(ctx context.Context, req *DeleteDocumentRequest) error
- func (c *Client) DeleteDocumentIdentity(ctx context.Context, req *DeleteDocumentIdentityRequest) error
- func (c *Client) DocumentList(ctx context.Context, req *DocumentListRequest) (*DocumentListReply, error)
- func (c *Client) EphemeralEncryptionKey(ctx context.Context, kid string) (jwk.Key, jwk.Key, error)
- func (c *Client) GetConsent(ctx context.Context, req *GetConsentRequest) (*model.Consent, error)
- func (c *Client) GetDocument(ctx context.Context, req *GetDocumentRequest) (*GetDocumentReply, error)
- func (c *Client) GetDocumentCollectID(ctx context.Context, req *GetDocumentCollectIDRequest) (*GetDocumentCollectIDReply, error)
- func (c *Client) GetVCTMFromScope(ctx context.Context, req *GetVCTMFromScopeRequest) (*sdjwtvc.VCTM, error)
- func (c *Client) HasVCIDocuments(ctx context.Context, sessionID string) bool
- func (c *Client) Health(ctx context.Context, req *apiv1_status.StatusRequest) (*apiv1_status.StatusReply, error)
- func (c *Client) IdentityMapping(ctx context.Context, reg *IdentityMappingRequest) (*IdentityMappingReply, error)
- func (c *Client) JWKS(ctx context.Context) (*JWKSResponse, error)
- func (c *Client) LoginPIDUser(ctx context.Context, req *vcclient.LoginPIDUserRequest) error
- func (c *Client) Notification(ctx context.Context, req *vcclient.NotificationRequest) (*vcclient.NotificationReply, error)
- func (c *Client) OAuthAuthorizationConsent(ctx context.Context, req *OauthAuthorizationConsentRequest) (*OAuthAuthorizationConsentResponse, error)
- func (c *Client) OAuthAuthorizationConsentCallback(ctx context.Context, req *OauthAuthorizationConsentCallbackRequest) (*OAuthAuthorizationConsentCallbackResponse, error)
- func (c *Client) OAuthAuthorize(ctx context.Context, req *openid4vci.AuthorizeRequest) (*openid4vci.AuthorizationResponse, error)
- func (c *Client) OAuthMetadata(ctx context.Context) (*oauth2.AuthorizationServerMetadata, error)
- func (c *Client) OAuthPar(ctx context.Context, req *openid4vci.PARRequest) (*openid4vci.ParResponse, error)
- func (c *Client) OAuthToken(ctx context.Context, req *openid4vci.TokenRequest) (*openid4vci.TokenResponse, error)
- func (c *Client) OIDCRPCallback(ctx context.Context, req *OIDCRPCallbackRequest, oidcrpService any) (*OIDCRPCallbackResponse, error)
- func (c *Client) OIDCRPInitiate(ctx context.Context, req *OIDCRPInitiateRequest, oidcrpService any) (*OIDCRPInitiateResponse, error)
- func (c *Client) OpenIDFederation(ctx context.Context) (*OpenIDFederationReply, error)
- func (c *Client) RevokeDocument(ctx context.Context, req *RevokeDocumentRequest) error
- func (c *Client) SDJWTVCIssuerMetadata(ctx context.Context) (*SDJWTVCIssuerMetadataResponse, error)
- func (c *Client) SVGTemplateReply(ctx context.Context, req *SVGTemplateRequest) (*vcclient.SVGTemplateReply, error)
- func (c *Client) SearchDocuments(ctx context.Context, req *model.SearchDocumentsRequest) (*model.SearchDocumentsReply, error)
- func (c *Client) StoreVCIDocuments(ctx context.Context, sessionID string, docs map[string]*model.CompleteDocument) error
- func (c *Client) TypeMetadata(ctx context.Context, req *TypeMetadataRequest) (json.RawMessage, error)
- func (c *Client) UICreateCredentialOffer(ctx context.Context, req *UICredentialOfferRequest) (*CredentialOfferReply, error)
- func (c *Client) UICredentialOffers(ctx context.Context) (*CredentialOfferLookupMetadata, error)
- func (c *Client) Upload(ctx context.Context, req *vcclient.UploadRequest) error
- func (c *Client) UserAuthenticSourceLookup(ctx context.Context, req *vcclient.UserAuthenticSourceLookupRequest) (*vcclient.UserAuthenticSourceLookupReply, error)
- func (c *Client) UserLookup(ctx context.Context, req *vcclient.UserLookupRequest) (*vcclient.UserLookupReply, error)
- func (c *Client) VCICredential(ctx context.Context, req *openid4vci.CredentialRequest) (*openid4vci.CredentialResponse, error)
- func (c *Client) VCICredentialOffer(ctx context.Context, req *openid4vci.CredentialOfferParameters) (*openid4vci.CredentialOfferParameters, error)
- func (c *Client) VCICredentialOfferURI(ctx context.Context, req *openid4vci.CredentialOfferURIRequest) (*openid4vci.CredentialOfferParameters, error)
- func (c *Client) VCIDeferredCredential(ctx context.Context, req *openid4vci.DeferredCredentialRequest) (*openid4vci.CredentialResponse, error)
- func (c *Client) VCIMetadata(ctx context.Context) (*openid4vci.CredentialIssuerMetadataParameters, error)
- func (c *Client) VCINonce(ctx context.Context) (*openid4vci.NonceResponse, error)
- func (c *Client) VCINotification(ctx context.Context, req *openid4vci.NotificationRequest) error
- func (c *Client) VerificationDirectPost(ctx context.Context, req *VerificationDirectPostRequest) (*VerificationDirectPostResponse, error)
- func (c *Client) VerificationRequestObject(ctx context.Context, req *VerificationRequestObjectRequest) (string, error)
- type CredentialOfferLookupMetadata
- type CredentialOfferReply
- type CredentialOfferTypeData
- type DeleteDocumentIdentityRequest
- type DeleteDocumentRequest
- type DocumentListReply
- type DocumentListRequest
- type EventPublisher
- type GetConsentRequest
- type GetDocumentCollectIDReply
- type GetDocumentCollectIDRequest
- type GetDocumentReply
- type GetDocumentRequest
- type GetVCTMFromScopeRequest
- type IdentityMappingReply
- type IdentityMappingRequest
- type JWKSResponse
- type OAuthAuthorizationConsentCallbackResponse
- type OAuthAuthorizationConsentResponse
- type OIDCRPCallbackRequest
- type OIDCRPCallbackResponse
- type OIDCRPInitiateRequest
- type OIDCRPInitiateResponse
- type OauthAuthorizationConsentCallbackRequest
- type OauthAuthorizationConsentRequest
- type OpenIDFederationReply
- type RevokeDocumentRequest
- type SDJWTVCIssuerMetadataResponse
- type SVGTemplateRequest
- type TypeMetadataRequest
- type UICredentialOfferRequest
- type VerificationDirectPostRequest
- type VerificationDirectPostResponse
- type VerificationRequestObjectRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddConsentRequest ¶
type AddConsentRequest struct {
AuthenticSource string `json:"authentic_source" validate:"required,max=128,printascii"`
AuthenticSourcePersonID string `json:"authentic_source_person_id" validate:"required,max=128,printascii"`
ConsentTo string `json:"consent_to" validate:"required,max=128,printascii"`
SessionID string `json:"session_id" validate:"required,max=128,printascii"`
}
AddConsentRequest is the request for AddConsent
type AddDocumentIdentityRequest ¶
type AddDocumentIdentityRequest struct {
// required: true
// example: SUNET
AuthenticSource string `json:"authentic_source" validate:"required"`
// required: true
// example: urn:eudi:pid:1
VCT string `json:"vct" validate:"required"`
// required: true
// example: 7a00fe1a-3e1a-11ef-9272-fb906803d1b8
DocumentID string `json:"document_id" validate:"required"`
Identities []*model.Identity `json:"identities" validate:"required"`
}
AddDocumentIdentityRequest is the request for DocumentIdentity
type Client ¶
type Client struct {
CredentialOfferLookupMetadata *CredentialOfferLookupMetadata
// contains filtered or unexported fields
}
Client holds the public api object
func New ¶
func New(ctx context.Context, db *db.Service, cacheService *cache.Service, tracer *trace.Tracer, cfg *model.Cfg, log *logger.Log) (*Client, error)
New creates a new instance of the public api
func (*Client) AddConsent ¶
func (c *Client) AddConsent(ctx context.Context, req *AddConsentRequest) error
AddConsent adds a consent to a document
@Summary AddConsent
@ID add-consent
@Description Add consent endpoint
@Tags dc4eu
@Accept json
@Produce json
@Success 200 "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body AddConsentRequest true " "
@Router /consent [post]
func (*Client) AddDocumentIdentity ¶
func (c *Client) AddDocumentIdentity(ctx context.Context, req *AddDocumentIdentityRequest) error
AddDocumentIdentity adds an identity to a document
@Summary AddDocumentIdentity
@ID add-document-identity
@Description Adding array of identities to one document
@Tags dc4eu
@Accept json
@Produce json
@Success 200
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body AddDocumentIdentityRequest true " "
@Router /document/identity [put]
func (*Client) AddPIDUser ¶
func (*Client) CreateCredentialOfferLookupMetadata ¶
CreateCredentialOfferLookupMetadata provides data for UI /offer, credential_offer selection
func (*Client) DeleteDocument ¶
func (c *Client) DeleteDocument(ctx context.Context, req *DeleteDocumentRequest) error
DeleteDocument deletes a specific document
@Summary DeleteDocument
@ID delete-document
@Description delete one document endpoint
@Tags dc4eu
@Accept json
@Produce json
@Success 200 "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body DeleteDocumentRequest true " "
@Router /document [delete]
func (*Client) DeleteDocumentIdentity ¶
func (c *Client) DeleteDocumentIdentity(ctx context.Context, req *DeleteDocumentIdentityRequest) error
DeleteDocumentIdentity deletes an identity from a document
@Summary DeleteDocumentIdentity
@ID delete-document-identity
@Description Delete identity to document endpoint
@Tags dc4eu
@Accept json
@Produce json
@Success 200
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body DeleteDocumentIdentityRequest true " "
@Router /document/identity [delete]
func (*Client) DocumentList ¶
func (c *Client) DocumentList(ctx context.Context, req *DocumentListRequest) (*DocumentListReply, error)
DocumentList return a list of metadata for a specific identity
@Summary DocumentList
@ID document-list
@Description List documents for an identity
@Tags dc4eu
@Accept json
@Produce json
@Success 200 {object} DocumentListReply "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body DocumentListRequest true " "
@Router /document/list [post]
func (*Client) EphemeralEncryptionKey ¶
EphemeralEncryptionKey returns the ephemeral encryption key pair for the given kid. If a private key already exists in the cache (i.e. the request- object endpoint was already called for this session) the cached key is reused so that the wallet's encrypted response can still be decrypted. Otherwise a fresh P-256 key pair is generated, the private key is cached, and both private and public JWKs are returned.
func (*Client) GetConsent ¶
GetConsent gets a consent for a document
@Summary GetConsent
@ID get-consent
@Description Get consent endpoint
@Tags dc4eu
@Accept json
@Produce json
@Success 200 {object} model.Consent "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body GetConsentRequest true " "
@Router /consent/get [post]
func (*Client) GetDocument ¶
func (c *Client) GetDocument(ctx context.Context, req *GetDocumentRequest) (*GetDocumentReply, error)
GetDocument return a specific document
@Summary GetDocument
@ID get-document
@Description Get document endpoint
@Tags dc4eu
@Accept json
@Produce json
@Success 200 {object} GetDocumentReply "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body GetDocumentRequest true " "
@Router /document [post]
func (*Client) GetDocumentCollectID ¶
func (c *Client) GetDocumentCollectID(ctx context.Context, req *GetDocumentCollectIDRequest) (*GetDocumentCollectIDReply, error)
GetDocumentCollectID return a specific document ??
@Summary GetDocumentByCollectID
@ID get-document-collect-id
@Description Get one document with collect id
@Tags dc4eu
@Accept json
@Produce json
@Success 200 {object} GetDocumentCollectIDReply "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body GetDocumentCollectIDRequest true " "
@Router /document/collect_id [post]
func (*Client) GetVCTMFromScope ¶
func (*Client) HasVCIDocuments ¶
HasVCIDocuments checks whether documents have already been stored for the given VCI session. Used by the consent endpoint to avoid re-initiating external auth when documents are already cached.
func (*Client) Health ¶
func (c *Client) Health(ctx context.Context, req *apiv1_status.StatusRequest) (*apiv1_status.StatusReply, error)
Health return health for this service and dependencies
func (*Client) IdentityMapping ¶
func (c *Client) IdentityMapping(ctx context.Context, reg *IdentityMappingRequest) (*IdentityMappingReply, error)
IdentityMapping return a mapping between PID and AuthenticSource
@Summary IdentityMapping
@ID identity-mapping
@Description Identity mapping endpoint
@Tags dc4eu
@Accept json
@Produce json
@Success 200 {object} IdentityMappingReply "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body IdentityMappingRequest true " "
@Router /identity/mapping [post]
func (*Client) JWKS ¶
func (c *Client) JWKS(ctx context.Context) (*JWKSResponse, error)
JWKS returns the issuer's public signing keys as a JWK Set. The keys are fetched from the issuer via gRPC and stripped of any private key material before being served.
func (*Client) LoginPIDUser ¶
func (*Client) Notification ¶
func (c *Client) Notification(ctx context.Context, req *vcclient.NotificationRequest) (*vcclient.NotificationReply, error)
Notification return QR code and DeepLink for a document
@Summary Notification
@ID generic-notification
@Description notification endpoint
@Tags dc4eu
@Accept json
@Produce json
@Success 200 {object} vcclient.NotificationReply "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body vcclient.NotificationRequest true " "
@Router /notification [post]
func (*Client) OAuthAuthorizationConsent ¶
func (c *Client) OAuthAuthorizationConsent(ctx context.Context, req *OauthAuthorizationConsentRequest) (*OAuthAuthorizationConsentResponse, error)
func (*Client) OAuthAuthorizationConsentCallback ¶
func (c *Client) OAuthAuthorizationConsentCallback(ctx context.Context, req *OauthAuthorizationConsentCallbackRequest) (*OAuthAuthorizationConsentCallbackResponse, error)
func (*Client) OAuthAuthorize ¶
func (c *Client) OAuthAuthorize(ctx context.Context, req *openid4vci.AuthorizeRequest) (*openid4vci.AuthorizationResponse, error)
func (*Client) OAuthMetadata ¶
func (*Client) OAuthPar ¶
func (c *Client) OAuthPar(ctx context.Context, req *openid4vci.PARRequest) (*openid4vci.ParResponse, error)
OAuthPar implements OAuth 2.0 Pushed Authorization Request (PAR) https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-authorization-endpoint
func (*Client) OAuthToken ¶
func (c *Client) OAuthToken(ctx context.Context, req *openid4vci.TokenRequest) (*openid4vci.TokenResponse, error)
OAuthToken implements OAuth 2.0 token endpoint for credential issuance https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-token-endpoint
func (*Client) OIDCRPCallback ¶
func (c *Client) OIDCRPCallback(ctx context.Context, req *OIDCRPCallbackRequest, oidcrpService any) (*OIDCRPCallbackResponse, error)
OIDCRPCallback processes OIDC callback and issues credential
func (*Client) OIDCRPInitiate ¶
func (c *Client) OIDCRPInitiate(ctx context.Context, req *OIDCRPInitiateRequest, oidcrpService any) (*OIDCRPInitiateResponse, error)
OIDCRPInitiate initiates OIDC authentication flow
func (*Client) OpenIDFederation ¶
func (c *Client) OpenIDFederation(ctx context.Context) (*OpenIDFederationReply, error)
func (*Client) RevokeDocument ¶
func (c *Client) RevokeDocument(ctx context.Context, req *RevokeDocumentRequest) error
RevokeDocument revokes a specific document
@Summary RevokeDocument
@ID revoke-document
@Description Revoke one document
@Tags dc4eu
@Accept json
@Produce json
@Success 200 "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body RevokeDocumentRequest true " "
@Router /document/revoke [post]
func (*Client) SDJWTVCIssuerMetadata ¶
func (c *Client) SDJWTVCIssuerMetadata(ctx context.Context) (*SDJWTVCIssuerMetadataResponse, error)
SDJWTVCIssuerMetadata returns the JWT VC Issuer Metadata per draft-ietf-oauth-sd-jwt-vc §5.3. This metadata is served at /.well-known/jwt-vc-issuer and allows verifiers to discover the issuer's JWKS endpoint.
func (*Client) SVGTemplateReply ¶
func (c *Client) SVGTemplateReply(ctx context.Context, req *SVGTemplateRequest) (*vcclient.SVGTemplateReply, error)
func (*Client) SearchDocuments ¶
func (c *Client) SearchDocuments(ctx context.Context, req *model.SearchDocumentsRequest) (*model.SearchDocumentsReply, error)
SearchDocuments search for documents
func (*Client) StoreVCIDocuments ¶
func (c *Client) StoreVCIDocuments(ctx context.Context, sessionID string, docs map[string]*model.CompleteDocument) error
StoreVCIDocuments stores transformed credential documents in the VCI session cache. This is used by external auth flows (SAML/OIDC) that are integrated into the OpenID4VCI pipeline. The documents are stored keyed by the VCI session ID so they can be retrieved during credential issuance (same as pid_auth flow).
func (*Client) TypeMetadata ¶
func (c *Client) TypeMetadata(ctx context.Context, req *TypeMetadataRequest) (json.RawMessage, error)
TypeMetadata returns the raw VCTM JSON for a locally-published scope.
func (*Client) UICreateCredentialOffer ¶
func (c *Client) UICreateCredentialOffer(ctx context.Context, req *UICredentialOfferRequest) (*CredentialOfferReply, error)
func (*Client) UICredentialOffers ¶
func (c *Client) UICredentialOffers(ctx context.Context) (*CredentialOfferLookupMetadata, error)
UICredentialOffers provides data for UI /offer endpoint
func (*Client) Upload ¶
Upload uploads a document with a set of attributes
@Summary Upload
@ID generic-upload
@Description Upload endpoint
@Tags dc4eu
@Accept json
@Produce json
@Success 200 "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body vcclient.UploadRequest true " "
@Router /upload [post]
func (*Client) UserAuthenticSourceLookup ¶
func (c *Client) UserAuthenticSourceLookup(ctx context.Context, req *vcclient.UserAuthenticSourceLookupRequest) (*vcclient.UserAuthenticSourceLookupReply, error)
func (*Client) UserLookup ¶
func (c *Client) UserLookup(ctx context.Context, req *vcclient.UserLookupRequest) (*vcclient.UserLookupReply, error)
func (*Client) VCICredential ¶
func (c *Client) VCICredential(ctx context.Context, req *openid4vci.CredentialRequest) (*openid4vci.CredentialResponse, error)
VCICredential implements OpenID4VCI credential issuance endpoint
@Summary VCICredential
@ID create-credential
@Description Create credential endpoint
@Tags dc4eu
@Accept json
@Produce json
@Success 200 {object} apiv1_issuer.MakeSDJWTReply "Success"
@Failure 400 {object} helpers.ErrorResponse "Bad Request"
@Param req body openid4vci.CredentialRequest true " "
@Router /credential [post]
func (*Client) VCICredentialOffer ¶
func (c *Client) VCICredentialOffer(ctx context.Context, req *openid4vci.CredentialOfferParameters) (*openid4vci.CredentialOfferParameters, error)
VCICredentialOffer implements OpenID4VCI credential offer endpoint https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-credential-offer-endpoint
func (*Client) VCICredentialOfferURI ¶
func (c *Client) VCICredentialOfferURI(ctx context.Context, req *openid4vci.CredentialOfferURIRequest) (*openid4vci.CredentialOfferParameters, error)
VCICredentialOfferURI implements OpenID4VCI credential offer URI endpoint https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0-14.html#name-sending-credential-offer-by-
func (*Client) VCIDeferredCredential ¶
func (c *Client) VCIDeferredCredential(ctx context.Context, req *openid4vci.DeferredCredentialRequest) (*openid4vci.CredentialResponse, error)
VCIDeferredCredential implements OpenID4VCI deferred credential endpoint https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-deferred-credential-endpoin
func (*Client) VCIMetadata ¶
func (c *Client) VCIMetadata(ctx context.Context) (*openid4vci.CredentialIssuerMetadataParameters, error)
VCIMetadata https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-credential-issuer-metadata-p
func (*Client) VCINonce ¶
func (c *Client) VCINonce(ctx context.Context) (*openid4vci.NonceResponse, error)
VCINonce implements OpenID4VCI nonce endpoint for DPoP proof freshness https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-nonce-endpoint
func (*Client) VCINotification ¶
func (c *Client) VCINotification(ctx context.Context, req *openid4vci.NotificationRequest) error
VCINotification implements OpenID4VCI notification endpoint https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html#name-notification-endpoint
func (*Client) VerificationDirectPost ¶
func (c *Client) VerificationDirectPost(ctx context.Context, req *VerificationDirectPostRequest) (*VerificationDirectPostResponse, error)
func (*Client) VerificationRequestObject ¶
type CredentialOfferLookupMetadata ¶
type CredentialOfferLookupMetadata struct {
// CredentialTypes use scope as key
CredentialTypes map[string]CredentialOfferTypeData `json:"credential_types"`
// Wallet use name in config as key and description as value
Wallets map[string]string `json:"wallets"`
}
type CredentialOfferReply ¶
type CredentialOfferTypeData ¶
type DeleteDocumentIdentityRequest ¶
type DeleteDocumentIdentityRequest struct {
// required: true
// example: SUNET
AuthenticSource string `json:"authentic_source" validate:"required"`
// required: true
// example: urn:eudi:pid:1
VCT string `json:"vct" validate:"required"`
// required: true
// example: 7a00fe1a-3e1a-11ef-9272-fb906803d1b8
DocumentID string `json:"document_id" validate:"required"`
// required: true
// example: 83c1a3c8-3e1a-11ef-9c01-6b6642c8d638
AuthenticSourcePersonID string `json:"authentic_source_person_id" validate:"required"`
}
DeleteDocumentIdentityRequest is the request for DeleteDocumentIdentity
type DeleteDocumentRequest ¶
type DeleteDocumentRequest struct {
// required: true
// example: skatteverket
AuthenticSource string `json:"authentic_source" validate:"required"`
// required: true
// example: 5e7a981c-c03f-11ee-b116-9b12c59362b9
DocumentID string `json:"document_id" validate:"required"`
// required: true
// example: urn:eudi:pid:1
VCT string `json:"vct" validate:"required"`
}
DeleteDocumentRequest is the request for DeleteDocument
type DocumentListReply ¶
type DocumentListReply struct {
Data []*model.DocumentList `json:"data"`
}
DocumentListReply is the reply for a list of documents
type DocumentListRequest ¶
type DocumentListRequest struct {
AuthenticSource string `json:"authentic_source"`
Identity *model.Identity `json:"identity" validate:"required"`
VCT string `json:"vct"`
ValidFrom int64 `json:"valid_from"`
ValidTo int64 `json:"valid_to"`
}
DocumentListRequest is the request for DocumentList
type EventPublisher ¶
type GetConsentRequest ¶
type GetConsentRequest struct {
AuthenticSource string `json:"authentic_source" validate:"required,max=128,printascii"`
AuthenticSourcePersonID string `json:"authentic_source_person_id" validate:"required,max=128,printascii"`
}
GetConsentRequest is the request for GetConsent
type GetDocumentCollectIDReply ¶
GetDocumentCollectIDReply is the reply for a generic document
type GetDocumentCollectIDRequest ¶
type GetDocumentCollectIDRequest struct {
AuthenticSource string `json:"authentic_source" validate:"required"`
VCT string `json:"vct" validate:"required"`
CollectID string `json:"collect_id" validate:"required"`
Identity *model.Identity `json:"identity" validate:"required"`
}
GetDocumentCollectIDRequest is the request for GetDocumentAttestation
type GetDocumentReply ¶
GetDocumentReply is the reply for a generic document
type GetDocumentRequest ¶
type GetDocumentRequest struct {
AuthenticSource string `json:"authentic_source" validate:"required"`
VCT string `json:"vct" validate:"required"`
DocumentID string `json:"document_id" validate:"required"`
}
GetDocumentRequest is the request for GetDocument
type GetVCTMFromScopeRequest ¶
type GetVCTMFromScopeRequest struct {
Scope string `validate:"required"`
}
type IdentityMappingReply ¶
IdentityMappingReply is the reply for a IDMapping
type IdentityMappingRequest ¶
type IdentityMappingRequest struct {
// required: true
// example: SUNET
AuthenticSource string `json:"authentic_source" validate:"required,max=128,printascii"`
Identity *model.Identity `json:"identity" validate:"required"`
}
IdentityMappingRequest is the request for IDMapping
type JWKSResponse ¶
type JWKSResponse = apiv1_issuer.Keys
JWKSResponse represents a JSON Web Key Set (RFC 7517 §5).
type OAuthAuthorizationConsentCallbackResponse ¶
type OAuthAuthorizationConsentCallbackResponse struct {
}
type OIDCRPCallbackRequest ¶
type OIDCRPCallbackRequest struct {
Code string `json:"code" binding:"required"`
State string `json:"state" binding:"required"`
}
OIDCRPCallbackRequest represents the OIDC callback parameters
type OIDCRPCallbackResponse ¶
type OIDCRPCallbackResponse struct {
Status string `json:"status"`
CredentialType string `json:"credential_type"`
Credential string `json:"credential"`
CredentialOffer map[string]any `json:"credential_offer"`
Message string `json:"message"`
// VCIRedirectURL is set when the callback is part of a VCI consent flow.
// The httpserver should redirect the browser to this URL instead of returning JSON.
VCIRedirectURL string `json:"vci_redirect_url,omitempty"`
}
OIDCRPCallbackResponse represents the credential issuance response
type OIDCRPInitiateRequest ¶
type OIDCRPInitiateRequest struct {
CredentialType string `json:"credential_type" binding:"required"`
}
OIDCRPInitiateRequest represents the request to initiate OIDC authentication
type OIDCRPInitiateResponse ¶
type OIDCRPInitiateResponse struct {
AuthorizationURL string `json:"authorization_url"`
State string `json:"state"`
}
OIDCRPInitiateResponse represents the response with authorization URL
type OauthAuthorizationConsentCallbackRequest ¶
type OauthAuthorizationConsentCallbackRequest struct {
ResponseCode string `json:"response_code" form:"response_code" uri:"response_code"`
}
type OauthAuthorizationConsentRequest ¶
type OauthAuthorizationConsentRequest struct {
//AuthMethod string `json:"-"`
SessionID string `json:"-"`
}
type OpenIDFederationReply ¶
type OpenIDFederationReply struct{}
type RevokeDocumentRequest ¶
type RevokeDocumentRequest struct {
AuthenticSource string `json:"authentic_source" validate:"required"`
VCT string `json:"vct" validate:"required"`
Revocation *model.Revocation `json:"revocation" validate:"required"`
}
RevokeDocumentRequest is the request for RevokeDocument
type SDJWTVCIssuerMetadataResponse ¶
type SDJWTVCIssuerMetadataResponse struct {
Issuer string `json:"issuer"`
JWKSURI string `json:"jwks_uri"`
}
SDJWTVCIssuerMetadataResponse represents JWT VC Issuer Metadata per SD-JWT VC §5.3.
type SVGTemplateRequest ¶
SVGTemplateRequest holds the request for fetching an SVG template.
type TypeMetadataRequest ¶
type TypeMetadataRequest struct {
Scope string `uri:"scope" validate:"required"`
}
TypeMetadataRequest holds the request for serving locally-published VCTM.
type VerificationDirectPostRequest ¶
type VerificationDirectPostRequest struct {
Response string `json:"response" form:"response"`
}
func (*VerificationDirectPostRequest) GetKID ¶
func (v *VerificationDirectPostRequest) GetKID() (string, error)
type VerificationRequestObjectRequest ¶
type VerificationRequestObjectRequest struct {
ID string `form:"id" uri:"id" validate:"required,max=128,printascii"`
}