irmaserver

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2021 License: Apache-2.0 Imports: 27 Imported by: 9

Documentation

Overview

Package irmaserver is a library that allows IRMA verifiers, issuers or attribute-based signature applications to perform IRMA sessions with irmaclient instances (i.e. the IRMA app). It exposes functions for handling IRMA sessions and a HTTP handler that handles the sessions with the irmaclient.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CancelSession

func CancelSession(token string) error

CancelSession cancels the specified IRMA session.

func GetRequest

func GetRequest(token string) irma.RequestorRequest

GetRequest retrieves the request submitted by the requestor that started the specified IRMA session.

func GetSessionResult

func GetSessionResult(token string) *server.SessionResult

GetSessionResult retrieves the result of the specified IRMA session.

func HandlerFunc

func HandlerFunc() http.HandlerFunc

HandlerFunc returns a http.HandlerFunc that handles the IRMA protocol with IRMA apps.

Example usage:

http.HandleFunc("/irma/", irmaserver.HandlerFunc())

The IRMA app can then perform IRMA sessions at https://example.com/irma.

func Initialize

func Initialize(conf *server.Configuration) (err error)

Initialize the default server instance with the specified configuration using New().

func Revoke added in v0.5.0

func Revoke(credid irma.CredentialTypeIdentifier, key string, issued time.Time) error

Revoke revokes the earlier issued credential specified by key. (Can only be used if this server is the revocation server for the specified credential type and if the corresponding issuer private key is present in the server configuration.)

func StartSession

func StartSession(request interface{}, handler server.SessionHandler) (*irma.Qr, string, error)

StartSession starts an IRMA session, running the handler on completion, if specified. The session token (the second return parameter) can be used in GetSessionResult() and CancelSession(). The request parameter can be an irma.RequestorRequest, or an irma.SessionRequest, or a ([]byte or string) JSON representation of one of those (for more details, see server.ParseSessionRequest().)

func Stop

func Stop()

Stop the server.

func SubscribeServerSentEvents

func SubscribeServerSentEvents(w http.ResponseWriter, r *http.Request, token string, requestor bool) error

SubscribeServerSentEvents subscribes the HTTP client to server sent events on status updates of the specified IRMA session.

Types

type Server

type Server struct {
	// contains filtered or unexported fields
}

func New

func New(conf *server.Configuration) (*Server, error)

func (*Server) CancelSession

func (s *Server) CancelSession(token string) error

func (*Server) GetRequest

func (s *Server) GetRequest(token string) irma.RequestorRequest

func (*Server) GetSessionResult

func (s *Server) GetSessionResult(token string) *server.SessionResult

func (*Server) HandlerFunc

func (s *Server) HandlerFunc() http.HandlerFunc

func (*Server) Revoke added in v0.5.0

func (s *Server) Revoke(credid irma.CredentialTypeIdentifier, key string, issued time.Time) error

func (*Server) StartSession

func (s *Server) StartSession(req interface{}, handler server.SessionHandler) (*irma.Qr, string, error)

func (*Server) Stop

func (s *Server) Stop()

func (*Server) SubscribeServerSentEvents

func (s *Server) SubscribeServerSentEvents(w http.ResponseWriter, r *http.Request, token string, requestor bool) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL