robotaccount

package
v0.113.0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const JWTAudience = "artifact-cas.chainloop"

Variables

View Source
var SigningMethod = jwt.SigningMethodES512

Functions

This section is empty.

Types

type Builder

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

func NewBuilder

func NewBuilder(opts ...NewOpt) (*Builder, error)

func (*Builder) GenerateJWT

func (ra *Builder) GenerateJWT(backendType, secretID, audience string, role Role, maxBytes int64) (string, error)

type Claims

type Claims struct {
	jwt.RegisteredClaims
	Role           Role   `json:"role"`      // either downloader or uploader
	StoredSecretID string `json:"secret-id"` // path to the OCI secret in the vault
	BackendType    string `json:"backend"`   // backend to use, i.e OCI
	MaxBytes       int64  `json:"maxbytes"`  // max bytes to upload
}

func (*Claims) CheckRole

func (c *Claims) CheckRole(r Role) error

func (*Claims) Valid

func (c *Claims) Valid() error

Additional validation checks

type NewOpt

type NewOpt func(b *Builder) error

func WithExpiration

func WithExpiration(d time.Duration) NewOpt

func WithIssuer

func WithIssuer(issuer string) NewOpt

func WithPrivateKey

func WithPrivateKey(path string) NewOpt

type Role

type Role string
const (
	Downloader Role = "downloader"
	Uploader   Role = "uploader"
)

Jump to

Keyboard shortcuts

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