auth

package
v0.28.1 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2024 License: AGPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AmzAlgorithm     = "X-Amz-Algorithm"
	AmzCredential    = "X-Amz-Credential"
	AmzSignature     = "X-Amz-Signature"
	AmzSignedHeaders = "X-Amz-SignedHeaders"
	AmzExpires       = "X-Amz-Expires"
	AmzDate          = "X-Amz-Date"
	AuthorizationHdr = "Authorization"
	ContentTypeHdr   = "Content-Type"
)

Variables

View Source
var ErrNoAuthorizationHeader = errors.New("no authorization header")

ErrNoAuthorizationHeader is returned for unauthenticated requests.

Functions

func MultipartFormValue

func MultipartFormValue(r *http.Request, key string) string

MultipartFormValue gets value by key from multipart form.

func PresignRequest added in v0.28.0

func PresignRequest(creds *credentials.Credentials, reqData RequestData, presignData PresignData) (*http.Request, error)

PresignRequest forms pre-signed request to access objects without aws credentials.

Types

type AuthHeader added in v0.28.0

type AuthHeader struct {
	AccessKeyID  string
	Service      string
	Region       string
	SignatureV4  string
	SignedFields []string
	Date         string
	IsPresigned  bool
	Expiration   time.Duration
}

type Box

type Box struct {
	AccessBox   *accessbox.Box
	ClientTime  time.Time
	AuthHeaders *AuthHeader
}

Box contains access box and additional info.

type Center

type Center interface {
	Authenticate(request *http.Request) (*Box, error)
}

Center is a user authentication interface.

func New

func New(frostFS tokens.FrostFS, key *keys.PrivateKey, prefixes []string, config *cache.Config) Center

New creates an instance of AuthCenter.

type PresignData added in v0.28.0

type PresignData struct {
	Service  string
	Region   string
	Lifetime time.Duration
	SignTime time.Time
}

type RegexpSubmatcher

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

func NewRegexpMatcher

func NewRegexpMatcher(re *regexp.Regexp) *RegexpSubmatcher

NewRegexpMatcher creates a new regexp sub matcher.

func (*RegexpSubmatcher) GetSubmatches

func (r *RegexpSubmatcher) GetSubmatches(target string) map[string]string

GetSubmatches returns matches from provided string. Zero length indicates no match.

type RequestData added in v0.28.0

type RequestData struct {
	Method   string
	Endpoint string
	Bucket   string
	Object   string
}

Directories

Path Synopsis
signer
v4
Package v4 implements signing for AWS V4 signer
Package v4 implements signing for AWS V4 signer

Jump to

Keyboard shortcuts

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