verify

package
v0.1.8 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2022 License: Apache-2.0, MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type TlSignature

type TlSignature struct {
	JwsHeader    *jws.JwsHeader
	HeaderBase64 string
	Signature    []byte
}

Truelayer signature data

func ParseTlSignature

func ParseTlSignature(tlSignature string) (*TlSignature, error)

ParseTlSignature parses a tl signature header value into (header, headerBase64, signature).

type Verifier

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

Build to verify a request against a "Tl-Signature" header.

func NewVerifier

func NewVerifier(publicKeyPem []byte) *Verifier

func NewVerifierWithJwks

func NewVerifierWithJwks(jwks []byte) *Verifier

func (*Verifier) Body

func (v *Verifier) Body(body []byte) *Verifier

Body adds the full received request body.

func (*Verifier) Header

func (v *Verifier) Header(name string, value []byte) *Verifier

Header adds a header name & value. May be called multiple times to add multiple different headers.

All request headers may be added here, any headers not mentioned in the jws signature header will be ignored unless required using "RequiredHeader".

func (*Verifier) Headers

func (v *Verifier) Headers(headers map[string][]byte) *Verifier

Headers appends multiple header name & value.

Warning: Only a single value per header name is supported.

func (*Verifier) Method

func (v *Verifier) Method(method string) *Verifier

Method adds the request method, e.g. "POST".

func (*Verifier) Path

func (v *Verifier) Path(path string) *Verifier

Path adds the request path, e.g. "/payouts".

func (*Verifier) RequireHeader

func (v *Verifier) RequireHeader(name string) *Verifier

RequireHeader specifies a header name that must be included in the "Tl-Signature". May be called multiple times to add multiple required headers.

Signatures missing these will fail verification.

func (*Verifier) Verify

func (v *Verifier) Verify(tlSignature string) error

Verify verifies the given "Tl-Signature" header value.

Supports v1 (body-only) & v2 full request signatures.

Returns error if verification fails.

Jump to

Keyboard shortcuts

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