util

package
v0.51.0 Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2026 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LogServiceError added in v0.12.1

func LogServiceError(l *zap.Logger, req string, node network.AddressGroup, err error)

LogServiceError writes error message of object service to provided logger.

func LogWorkerPoolError added in v0.12.1

func LogWorkerPoolError(l *zap.Logger, req string, err error)

LogWorkerPoolError writes debug error message of object worker pool to provided logger.

Types

type CommonPrm

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

func CommonPrmFromRequest added in v0.45.0

func CommonPrmFromRequest(req interface {
	GetMetaHeader() *protosession.RequestMetaHeader
}) (*CommonPrm, error)

CommonPrmFromRequest is a temporary copy-paste of [CommonPrmFromV2].

func (*CommonPrm) BearerToken

func (p *CommonPrm) BearerToken() *bearer.Token

func (*CommonPrm) ForgetTokens added in v0.36.0

func (p *CommonPrm) ForgetTokens()

ForgetTokens forgets all the tokens read from the request's meta information before.

func (*CommonPrm) LocalOnly

func (p *CommonPrm) LocalOnly() bool

func (*CommonPrm) SessionToken

func (p *CommonPrm) SessionToken() *sessionsdk.Object

func (*CommonPrm) SessionTokenV2 added in v0.51.0

func (p *CommonPrm) SessionTokenV2() *sessionv2.Token

func (*CommonPrm) TTL added in v0.27.0

func (p *CommonPrm) TTL() uint32

TTL returns TTL for new requests.

func (*CommonPrm) WithLocalOnly

func (p *CommonPrm) WithLocalOnly(v bool) *CommonPrm

func (*CommonPrm) XHeaders added in v0.27.0

func (p *CommonPrm) XHeaders() []string

XHeaders returns X-Headers for new requests.

type KeyStorage

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

KeyStorage represents private key storage of the local node.

func NewKeyStorage

func NewKeyStorage(localKey *ecdsa.PrivateKey, tokenStore SessionSource, net netmap.State) *KeyStorage

NewKeyStorage creates, initializes and returns new KeyStorage instance.

func (*KeyStorage) GetKey

func (s *KeyStorage) GetKey(info *SessionInfo) (*ecdsa.PrivateKey, error)

GetKey fetches private key depending on the SessionInfo.

If info is not `nil`, searches for dynamic session token through the underlying token storage. Returns apistatus.SessionTokenNotFound if token storage does not contain information about provided dynamic session.

If info is `nil`, returns node's private key.

func (*KeyStorage) GetKeyBySubjects added in v0.51.0

func (s *KeyStorage) GetKeyBySubjects(issuer user.ID, subjects []session2.Target) (*ecdsa.PrivateKey, error)

GetKeyBySubjects fetches private key for V2 session token by any of the subjects.

Returns apistatus.SessionTokenNotFound if no matching key is found or apistatus.SessionTokenExpired if the found token is expired.

type SessionInfo added in v0.28.2

type SessionInfo struct {
	// Session unique identifier.
	ID uuid.UUID

	// Session issuer.
	Owner user.ID
}

SessionInfo groups information about NeoFS Object session which is reflected in KeyStorage.

type SessionSource added in v0.28.0

type SessionSource interface {
	// GetToken must return non-expired private token that
	// corresponds with passed owner and tokenID. If
	// token has not been created, has been expired
	// of it is impossible to get information about the
	// token Get must return nil.
	GetToken(owner user.ID, tokenID []byte) *session.PrivateToken

	// FindTokenBySubjects searches for a non-expired private token whose public key
	// matches any of the given Target. Used for V2 session tokens where keys
	// are identified by their Target. Returns nil if no matching token is found.
	FindTokenBySubjects(owner user.ID, subjects []session2.Target) *session.PrivateToken
}

SessionSource is an interface that provides access to node's actual (not expired) session tokens.

Jump to

Keyboard shortcuts

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