Protocol Documentation
Table of Contents
Top
service/meta.proto
Message BearerToken
BearerToken has information about request ACL rules with limited lifetime
Message BearerToken.Body
Field |
Type |
Label |
Description |
eacl_table |
acl.EACLTable |
|
EACLTable carries table of extended ACL rules |
owner_id |
refs.OwnerID |
|
OwnerID carries identifier of the token owner |
lifetime |
TokenLifetime |
|
Token expiration and valid time period parameters |
Information about the request
Field |
Type |
Label |
Description |
version |
Version |
|
Client API version. |
epoch |
uint64 |
|
Client local epoch number. Set to 0 if unknown. |
ttl |
uint32 |
|
Maximum number of nodes in the request route. |
x_headers |
XHeader |
repeated |
Request X-Headers. |
token |
SessionToken |
|
Token is a token of the session within which the request is sent |
bearer |
BearerToken |
|
Bearer is a Bearer token of the request |
origin |
RequestMetaHeader |
|
RequestMetaHeader of the origin request. |
Information about the response
Field |
Type |
Label |
Description |
version |
Version |
|
Server API version. |
epoch |
uint64 |
|
Server local epoch number. |
ttl |
uint32 |
|
Maximum number of nodes in the response route. |
x_headers |
XHeader |
repeated |
Response X-Headers. |
origin |
ResponseMetaHeader |
|
Carries response meta header of the origin response. |
Message SessionToken
NeoFS session token.
Field |
Type |
Label |
Description |
token |
SessionToken.Body |
|
Session Token body |
signature |
Signature |
|
Signature is a signature of session token information |
Message SessionToken.Body
Field |
Type |
Label |
Description |
id |
bytes |
|
ID is a token identifier. valid UUIDv4 represented in bytes |
owner_id |
refs.OwnerID |
|
OwnerID carries identifier of the session initiator. |
verb |
SessionToken.Body.Verb |
|
Verb is a type of request for which the token is issued |
lifetime |
TokenLifetime |
|
Lifetime is a lifetime of the session |
session_key |
bytes |
|
SessionKey is a public key of session key |
object_address |
refs.Address |
|
object_address represents the object session context. |
Message TokenLifetime
Lifetime parameters of the token. Filed names taken from rfc7519.
Field |
Type |
Label |
Description |
exp |
uint64 |
|
Expiration Epoch |
nbf |
uint64 |
|
Not valid before Epoch |
iat |
uint64 |
|
Issued at Epoch |
Message Version
Represents API version used by node.
Field |
Type |
Label |
Description |
major |
uint32 |
|
Major API version. |
minor |
uint32 |
|
Minor API version. |
Field |
Type |
Label |
Description |
key |
string |
|
Key of the X-Header. |
value |
string |
|
Value of the X-Header. |
SessionToken.Body.Verb
Verb is an enumeration of session request types
Name |
Number |
Description |
OBJECT_PUT |
0 |
Refers to object.Put RPC call |
OBJECT_GET |
1 |
Refers to object.Get RPC call |
OBJECT_HEAD |
2 |
Refers to object.Head RPC call |
OBJECT_SEARCH |
3 |
Refers to object.Search RPC call |
OBJECT_DELETE |
4 |
Refers to object.Delete RPC call |
OBJECT_RANGE |
5 |
Refers to object.GetRange RPC call |
OBJECT_RANGEHASH |
6 |
Refers to object.GetRangeHash RPC call |
Top
service/verify.proto
Verification info for request signed by all intermediate nodes
Field |
Type |
Label |
Description |
body_signature |
Signature |
|
Request Body signature. Should be generated once by request initiator. |
meta_signature |
Signature |
|
Request Meta signature is added and signed by any intermediate node |
origin_signature |
Signature |
|
Sign previous hops |
origin |
RequestVerificationHeader |
|
Chain of previous hops signatures |
Verification info for response signed by all intermediate nodes
Field |
Type |
Label |
Description |
body_signature |
Signature |
|
Response Body signature. Should be generated once by answering node. |
meta_signature |
Signature |
|
Response Meta signature is added and signed by any intermediate node |
origin_signature |
Signature |
|
Sign previous hops |
origin |
ResponseVerificationHeader |
|
Chain of previous hops signatures |
Message Signature
Signature of something in NeoFS
Field |
Type |
Label |
Description |
key |
bytes |
|
Public key used for signing. |
sign |
bytes |
|
Signature |
Scalar Value Types
.proto Type |
Notes |
C++ Type |
Java Type |
Python Type |
double |
|
double |
double |
float |
float |
|
float |
float |
float |
int32 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
int32 |
int |
int |
int64 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
int64 |
long |
int/long |
uint32 |
Uses variable-length encoding. |
uint32 |
int |
int/long |
uint64 |
Uses variable-length encoding. |
uint64 |
long |
int/long |
sint32 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
int32 |
int |
int |
sint64 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
int64 |
long |
int/long |
fixed32 |
Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
uint32 |
int |
int |
fixed64 |
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
uint64 |
long |
int/long |
sfixed32 |
Always four bytes. |
int32 |
int |
int |
sfixed64 |
Always eight bytes. |
int64 |
long |
int/long |
bool |
|
bool |
boolean |
boolean |
string |
A string must always contain UTF-8 encoded or 7-bit ASCII text. |
string |
String |
str/unicode |
bytes |
May contain any arbitrary sequence of bytes. |
string |
ByteString |
str |