Documentation
¶
Index ¶
- func LogServiceError(l *zap.Logger, req string, node network.AddressGroup, err error)
- func LogWorkerPoolError(l *zap.Logger, req string, err error)
- type CommonPrm
- func (p *CommonPrm) BearerToken() *bearer.Token
- func (p *CommonPrm) ForgetTokens()
- func (p *CommonPrm) LocalOnly() bool
- func (p *CommonPrm) SessionToken() *sessionsdk.Object
- func (p *CommonPrm) SessionTokenV2() *sessionv2.Token
- func (p *CommonPrm) TTL() uint32
- func (p *CommonPrm) WithLocalOnly(v bool) *CommonPrm
- func (p *CommonPrm) XHeaders() []string
- type KeyStorage
- type SessionInfo
- type SessionSource
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func LogServiceError ¶ added in v0.12.1
LogServiceError writes error message of object service 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 (*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) SessionToken ¶
func (p *CommonPrm) SessionToken() *sessionsdk.Object
func (*CommonPrm) SessionTokenV2 ¶ added in v0.51.0
func (*CommonPrm) WithLocalOnly ¶
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.