From 579a618f7271998aeae74336e6fdd67e05dfb66b Mon Sep 17 00:00:00 2001 From: Stanislav Bogatyrev Date: Tue, 18 Aug 2020 16:51:28 +0300 Subject: [PATCH] docs: Update docs with new token locations Signed-off-by: Stanislav Bogatyrev --- proto-docs/acl.md | 41 +++++++++++ proto-docs/container.md | 10 +-- proto-docs/object.md | 14 ++-- proto-docs/refs.md | 26 +++++++ proto-docs/service.md | 147 +++------------------------------------- proto-docs/session.md | 95 +++++++++++++++++++++++++- 6 files changed, 183 insertions(+), 150 deletions(-) diff --git a/proto-docs/acl.md b/proto-docs/acl.md index b653ec9..f3f14c7 100644 --- a/proto-docs/acl.md +++ b/proto-docs/acl.md @@ -6,6 +6,9 @@ - [acl/types.proto](#acl/types.proto) - Messages + - [BearerToken](#neo.fs.v2.acl.BearerToken) + - [BearerToken.Body](#neo.fs.v2.acl.BearerToken.Body) + - [BearerToken.Body.TokenLifetime](#neo.fs.v2.acl.BearerToken.Body.TokenLifetime) - [EACLRecord](#neo.fs.v2.acl.EACLRecord) - [EACLRecord.FilterInfo](#neo.fs.v2.acl.EACLRecord.FilterInfo) - [EACLRecord.TargetInfo](#neo.fs.v2.acl.EACLRecord.TargetInfo) @@ -25,6 +28,44 @@ + + +### Message BearerToken +BearerToken has information about request ACL rules with limited lifetime + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| body | [BearerToken.Body](#neo.fs.v2.acl.BearerToken.Body) | | Bearer Token body | +| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Signature of BearerToken body | + + + + +### Message BearerToken.Body +Bearer Token body + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| eacl_table | [EACLTable](#neo.fs.v2.acl.EACLTable) | | EACLTable carries table of extended ACL rules | +| owner_id | [neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID) | | OwnerID carries identifier of the token owner | +| lifetime | [BearerToken.Body.TokenLifetime](#neo.fs.v2.acl.BearerToken.Body.TokenLifetime) | | Token expiration and valid time period parameters | + + + + +### Message BearerToken.Body.TokenLifetime +Lifetime parameters of the token. Filed names taken from rfc7519. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| exp | [uint64](#uint64) | | Expiration Epoch | +| nbf | [uint64](#uint64) | | Not valid before Epoch | +| iat | [uint64](#uint64) | | Issued at Epoch | + + ### Message EACLRecord diff --git a/proto-docs/container.md b/proto-docs/container.md index a757ed5..a36f4a6 100644 --- a/proto-docs/container.md +++ b/proto-docs/container.md @@ -146,7 +146,7 @@ Request body | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | container_id | [neo.fs.v2.refs.ContainerID](#neo.fs.v2.refs.ContainerID) | | container_id carries identifier of the container to delete from NeoFS. | -| signature | [neo.fs.v2.service.Signature](#neo.fs.v2.service.Signature) | | Signature of container id according to RFC-6979. | +| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Signature of container id according to RFC-6979. | @@ -216,7 +216,7 @@ Response body | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | eacl | [neo.fs.v2.acl.EACLTable](#neo.fs.v2.acl.EACLTable) | | Extended ACL that has been requested if it was set up. | -| signature | [neo.fs.v2.service.Signature](#neo.fs.v2.service.Signature) | | Signature of stable-marshalled Extended ACL according to RFC-6979. | +| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Signature of stable-marshalled Extended ACL according to RFC-6979. | @@ -337,7 +337,7 @@ Request body | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | container | [Container](#neo.fs.v2.container.Container) | | Container to create in NeoFS. | -| signature | [neo.fs.v2.service.Signature](#neo.fs.v2.service.Signature) | | Signature of stable-marshalled container according to RFC-6979. | +| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Signature of stable-marshalled container according to RFC-6979. | @@ -386,7 +386,7 @@ Request body | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | eacl | [neo.fs.v2.acl.EACLTable](#neo.fs.v2.acl.EACLTable) | | Extended ACL to set for the container. | -| signature | [neo.fs.v2.service.Signature](#neo.fs.v2.service.Signature) | | Signature of stable-marshalled Extended ACL according to RFC-6979. | +| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Signature of stable-marshalled Extended ACL according to RFC-6979. | @@ -434,7 +434,7 @@ SHA256 hash of stable-marshalled container message. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| version | [neo.fs.v2.service.Version](#neo.fs.v2.service.Version) | | Container format version. Effectively the version of API library used to create container | +| version | [neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version) | | Container format version. Effectively the version of API library used to create container | | owner_id | [neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID) | | OwnerID carries identifier of the container owner. | | nonce | [bytes](#bytes) | | Nonce is a 16 byte UUID, used to avoid collisions of container id. | | basic_acl | [uint32](#uint32) | | BasicACL contains access control rules for owner, system, others groups and permission bits for bearer token and Extended ACL. | diff --git a/proto-docs/object.md b/proto-docs/object.md index 93e7f88..2ec1b6c 100644 --- a/proto-docs/object.md +++ b/proto-docs/object.md @@ -353,7 +353,7 @@ Initialization parameters of the object got from NeoFS. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | object_id | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | | Object ID | -| signature | [neo.fs.v2.service.Signature](#neo.fs.v2.service.Signature) | | Object signature | +| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Object signature | | header | [Header](#neo.fs.v2.object.Header) | | Object header. | @@ -442,7 +442,7 @@ Groups initialization parameters of object placement in NeoFS. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | object_id | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | | Object ID, where available | -| signature | [neo.fs.v2.service.Signature](#neo.fs.v2.service.Signature) | | Object signature, were available | +| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Object signature, were available | | header | [Header](#neo.fs.v2.object.Header) | | Header of the object to save in the system. | | copies_number | [uint32](#uint32) | | Number of the object copies to store within the RPC call. Default zero value is processed according to the container placement rules. | @@ -568,7 +568,7 @@ Object Headers | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| version | [neo.fs.v2.service.Version](#neo.fs.v2.service.Version) | | Object format version. Effectively the version of API library used to create particular object | +| version | [neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version) | | Object format version. Effectively the version of API library used to create particular object | | container_id | [neo.fs.v2.refs.ContainerID](#neo.fs.v2.refs.ContainerID) | | Object's container | | owner_id | [neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID) | | Object's owner | | creation_epoch | [uint64](#uint64) | | Object creation Epoch | @@ -576,7 +576,7 @@ Object Headers | payload_hash | [bytes](#bytes) | | Hash of payload bytes | | object_type | [ObjectType](#neo.fs.v2.object.ObjectType) | | Special object type | | homomorphic_hash | [bytes](#bytes) | | Homomorphic hash of the object payload. | -| session_token | [neo.fs.v2.service.SessionToken](#neo.fs.v2.service.SessionToken) | | Session token, if it was used during Object creation. Need it to verify integrity and authenticity out of Request scope. | +| session_token | [neo.fs.v2.session.SessionToken](#neo.fs.v2.session.SessionToken) | | Session token, if it was used during Object creation. Need it to verify integrity and authenticity out of Request scope. | | attributes | [Header.Attribute](#neo.fs.v2.object.Header.Attribute) | repeated | User-defined object attributes | | split | [Header.Split](#neo.fs.v2.object.Header.Split) | | Position of the object in the split hierarchy. | @@ -603,7 +603,7 @@ Information about spawning the objects through a payload splitting. | ----- | ---- | ----- | ----------- | | parent | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | | Identifier of the origin object. Parent and children objects must be within the same container. Parent object_id is known only to the minor child. | | previous | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | | Previous carries identifier of the left split neighbor. | -| parent_signature | [neo.fs.v2.service.Signature](#neo.fs.v2.service.Signature) | | `signature` field of the parent object. Used to reconstruct parent. | +| parent_signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | `signature` field of the parent object. Used to reconstruct parent. | | parent_header | [Header](#neo.fs.v2.object.Header) | | `header` field of the parent object. Used to reconstruct parent. | | children | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | repeated | Children carries list of identifiers of the objects generated by splitting the current. | @@ -617,7 +617,7 @@ Object structure. | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | object_id | [neo.fs.v2.refs.ObjectID](#neo.fs.v2.refs.ObjectID) | | Object's unique identifier. Object is content-addressed. It means id will change if header or payload changes. It's calculated as a hash of header field, which contains hash of object's payload | -| signature | [neo.fs.v2.service.Signature](#neo.fs.v2.service.Signature) | | Signed object_id | +| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Signed object_id | | header | [Header](#neo.fs.v2.object.Header) | | Object metadata headers | | payload | [bytes](#bytes) | | Payload bytes. | @@ -630,7 +630,7 @@ Short header fields | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| version | [neo.fs.v2.service.Version](#neo.fs.v2.service.Version) | | Object format version. | +| version | [neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version) | | Object format version. | | creation_epoch | [uint64](#uint64) | | Epoch when the object was created | | owner_id | [neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID) | | Object's owner | | object_type | [ObjectType](#neo.fs.v2.object.ObjectType) | | Type of the object payload content | diff --git a/proto-docs/refs.md b/proto-docs/refs.md index 103c3e9..c892388 100644 --- a/proto-docs/refs.md +++ b/proto-docs/refs.md @@ -10,6 +10,8 @@ - [ContainerID](#neo.fs.v2.refs.ContainerID) - [ObjectID](#neo.fs.v2.refs.ObjectID) - [OwnerID](#neo.fs.v2.refs.OwnerID) + - [Signature](#neo.fs.v2.refs.Signature) + - [Version](#neo.fs.v2.refs.Version) - [Scalar Value Types](#scalar-value-types) @@ -69,6 +71,30 @@ OwnerID group information about the owner of the NeoFS container. | ----- | ---- | ----- | ----------- | | value | [bytes](#bytes) | | value carries the identifier of the container owner in a binary format. | + + + +### Message Signature +Signature of something in NeoFS + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [bytes](#bytes) | | Public key used for signing. | +| sign | [bytes](#bytes) | | Signature | + + + + +### Message Version +Represents API version used by node. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| major | [uint32](#uint32) | | Major API version. | +| minor | [uint32](#uint32) | | Minor API version. | + diff --git a/proto-docs/service.md b/proto-docs/service.md index d61b9a1..e37ad9f 100644 --- a/proto-docs/service.md +++ b/proto-docs/service.md @@ -6,18 +6,10 @@ - [service/types.proto](#service/types.proto) - Messages - - [BearerToken](#neo.fs.v2.service.BearerToken) - - [BearerToken.Body](#neo.fs.v2.service.BearerToken.Body) - - [ObjectSessionContext](#neo.fs.v2.service.ObjectSessionContext) - [RequestMetaHeader](#neo.fs.v2.service.RequestMetaHeader) - [RequestVerificationHeader](#neo.fs.v2.service.RequestVerificationHeader) - [ResponseMetaHeader](#neo.fs.v2.service.ResponseMetaHeader) - [ResponseVerificationHeader](#neo.fs.v2.service.ResponseVerificationHeader) - - [SessionToken](#neo.fs.v2.service.SessionToken) - - [SessionToken.Body](#neo.fs.v2.service.SessionToken.Body) - - [Signature](#neo.fs.v2.service.Signature) - - [TokenLifetime](#neo.fs.v2.service.TokenLifetime) - - [Version](#neo.fs.v2.service.Version) - [XHeader](#neo.fs.v2.service.XHeader) @@ -34,43 +26,6 @@ - - -### Message BearerToken -BearerToken has information about request ACL rules with limited lifetime - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| body | [BearerToken.Body](#neo.fs.v2.service.BearerToken.Body) | | Bearer Token body | -| signature | [Signature](#neo.fs.v2.service.Signature) | | Signature of BearerToken body | - - - - -### Message BearerToken.Body -Bearer Token body - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| eacl_table | [neo.fs.v2.acl.EACLTable](#neo.fs.v2.acl.EACLTable) | | EACLTable carries table of extended ACL rules | -| owner_id | [neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID) | | OwnerID carries identifier of the token owner | -| lifetime | [TokenLifetime](#neo.fs.v2.service.TokenLifetime) | | Token expiration and valid time period parameters | - - - - -### Message ObjectSessionContext -Context information for Session Tokens related to ObjectService requests - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| verb | [ObjectSessionContext.Verb](#neo.fs.v2.service.ObjectSessionContext.Verb) | | Verb is a type of request for which the token is issued | -| address | [neo.fs.v2.refs.Address](#neo.fs.v2.refs.Address) | | Related Object address | - - ### Message RequestMetaHeader @@ -79,12 +34,12 @@ Information about the request | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| version | [Version](#neo.fs.v2.service.Version) | | Client API version. | +| version | [neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version) | | Client API version. | | epoch | [uint64](#uint64) | | Client local epoch number. Set to 0 if unknown. | | ttl | [uint32](#uint32) | | Maximum number of nodes in the request route. | | x_headers | [XHeader](#neo.fs.v2.service.XHeader) | repeated | Request X-Headers. | -| session_token | [SessionToken](#neo.fs.v2.service.SessionToken) | | Token is a token of the session within which the request is sent | -| bearer_token | [BearerToken](#neo.fs.v2.service.BearerToken) | | Bearer is a Bearer token of the request | +| session_token | [neo.fs.v2.session.SessionToken](#neo.fs.v2.session.SessionToken) | | Token is a token of the session within which the request is sent | +| bearer_token | [neo.fs.v2.acl.BearerToken](#neo.fs.v2.acl.BearerToken) | | Bearer is a Bearer token of the request | | origin | [RequestMetaHeader](#neo.fs.v2.service.RequestMetaHeader) | | RequestMetaHeader of the origin request. | @@ -96,9 +51,9 @@ Verification info for request signed by all intermediate nodes | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| body_signature | [Signature](#neo.fs.v2.service.Signature) | | Request Body signature. Should be generated once by request initiator. | -| meta_signature | [Signature](#neo.fs.v2.service.Signature) | | Request Meta signature is added and signed by any intermediate node | -| origin_signature | [Signature](#neo.fs.v2.service.Signature) | | Sign previous hops | +| body_signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Request Body signature. Should be generated once by request initiator. | +| meta_signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Request Meta signature is added and signed by any intermediate node | +| origin_signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Sign previous hops | | origin | [RequestVerificationHeader](#neo.fs.v2.service.RequestVerificationHeader) | | Chain of previous hops signatures | @@ -110,7 +65,7 @@ Information about the response | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| version | [Version](#neo.fs.v2.service.Version) | | Server API version. | +| version | [neo.fs.v2.refs.Version](#neo.fs.v2.refs.Version) | | Server API version. | | epoch | [uint64](#uint64) | | Server local epoch number. | | ttl | [uint32](#uint32) | | Maximum number of nodes in the response route. | | x_headers | [XHeader](#neo.fs.v2.service.XHeader) | repeated | Response X-Headers. | @@ -125,76 +80,12 @@ Verification info for response signed by all intermediate nodes | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | -| body_signature | [Signature](#neo.fs.v2.service.Signature) | | Response Body signature. Should be generated once by answering node. | -| meta_signature | [Signature](#neo.fs.v2.service.Signature) | | Response Meta signature is added and signed by any intermediate node | -| origin_signature | [Signature](#neo.fs.v2.service.Signature) | | Sign previous hops | +| body_signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Response Body signature. Should be generated once by answering node. | +| meta_signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Response Meta signature is added and signed by any intermediate node | +| origin_signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Sign previous hops | | origin | [ResponseVerificationHeader](#neo.fs.v2.service.ResponseVerificationHeader) | | Chain of previous hops signatures | - - -### Message SessionToken -NeoFS session token. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| body | [SessionToken.Body](#neo.fs.v2.service.SessionToken.Body) | | Session Token body | -| signature | [Signature](#neo.fs.v2.service.Signature) | | Signature is a signature of session token information | - - - - -### Message SessionToken.Body -Session token body - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [bytes](#bytes) | | ID is a token identifier. valid UUIDv4 represented in bytes | -| owner_id | [neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID) | | OwnerID carries identifier of the session initiator. | -| lifetime | [TokenLifetime](#neo.fs.v2.service.TokenLifetime) | | Lifetime is a lifetime of the session | -| session_key | [bytes](#bytes) | | SessionKey is a public key of session key | -| object | [ObjectSessionContext](#neo.fs.v2.service.ObjectSessionContext) | | ObjectService session context. | - - - - -### Message Signature -Signature of something in NeoFS - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| key | [bytes](#bytes) | | Public key used for signing. | -| sign | [bytes](#bytes) | | Signature | - - - - -### Message TokenLifetime -Lifetime parameters of the token. Filed names taken from rfc7519. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| exp | [uint64](#uint64) | | Expiration Epoch | -| nbf | [uint64](#uint64) | | Not valid before Epoch | -| iat | [uint64](#uint64) | | Issued at Epoch | - - - - -### Message Version -Represents API version used by node. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| major | [uint32](#uint32) | | Major API version. | -| minor | [uint32](#uint32) | | Minor API version. | - - ### Message XHeader @@ -208,24 +99,6 @@ Extended headers for Request/Response - - - -### ObjectSessionContext.Verb -Object request verbs - -| Name | Number | Description | -| ---- | ------ | ----------- | -| VERB_UNSPECIFIED | 0 | Unknown verb | -| PUT | 1 | Refers to object.Put RPC call | -| GET | 2 | Refers to object.Get RPC call | -| HEAD | 3 | Refers to object.Head RPC call | -| SEARCH | 4 | Refers to object.Search RPC call | -| DELETE | 5 | Refers to object.Delete RPC call | -| RANGE | 6 | Refers to object.GetRange RPC call | -| RANGEHASH | 7 | Refers to object.GetRangeHash RPC call | - - diff --git a/proto-docs/session.md b/proto-docs/session.md index 63a695d..81ec58e 100644 --- a/proto-docs/session.md +++ b/proto-docs/session.md @@ -14,6 +14,15 @@ - [CreateResponse.Body](#neo.fs.v2.session.CreateResponse.Body) +- [session/types.proto](#session/types.proto) + + - Messages + - [ObjectSessionContext](#neo.fs.v2.session.ObjectSessionContext) + - [SessionToken](#neo.fs.v2.session.SessionToken) + - [SessionToken.Body](#neo.fs.v2.session.SessionToken.Body) + - [SessionToken.Body.TokenLifetime](#neo.fs.v2.session.SessionToken.Body.TokenLifetime) + + - [Scalar Value Types](#scalar-value-types) @@ -68,7 +77,7 @@ Request body | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | owner_id | [neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID) | | Carries an identifier of a session initiator. | -| lifetime | [neo.fs.v2.service.TokenLifetime](#neo.fs.v2.service.TokenLifetime) | | Carries a lifetime of the session. | +| expiration | [uint64](#uint64) | | Expiration Epoch | @@ -101,6 +110,90 @@ Response body + +

Top

+ +## session/types.proto + + + + + + + +### Message ObjectSessionContext +Context information for Session Tokens related to ObjectService requests + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| verb | [ObjectSessionContext.Verb](#neo.fs.v2.session.ObjectSessionContext.Verb) | | Verb is a type of request for which the token is issued | +| address | [neo.fs.v2.refs.Address](#neo.fs.v2.refs.Address) | | Related Object address | + + + + +### Message SessionToken +NeoFS session token. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| body | [SessionToken.Body](#neo.fs.v2.session.SessionToken.Body) | | Session Token body | +| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Signature is a signature of session token information | + + + + +### Message SessionToken.Body +Session token body + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| id | [bytes](#bytes) | | ID is a token identifier. valid UUIDv4 represented in bytes | +| owner_id | [neo.fs.v2.refs.OwnerID](#neo.fs.v2.refs.OwnerID) | | OwnerID carries identifier of the session initiator. | +| lifetime | [SessionToken.Body.TokenLifetime](#neo.fs.v2.session.SessionToken.Body.TokenLifetime) | | Lifetime is a lifetime of the session | +| session_key | [bytes](#bytes) | | SessionKey is a public key of session key | +| object | [ObjectSessionContext](#neo.fs.v2.session.ObjectSessionContext) | | ObjectService session context. | + + + + +### Message SessionToken.Body.TokenLifetime +Lifetime parameters of the token. Filed names taken from rfc7519. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| exp | [uint64](#uint64) | | Expiration Epoch | +| nbf | [uint64](#uint64) | | Not valid before Epoch | +| iat | [uint64](#uint64) | | Issued at Epoch | + + + + + + +### ObjectSessionContext.Verb +Object request verbs + +| Name | Number | Description | +| ---- | ------ | ----------- | +| VERB_UNSPECIFIED | 0 | Unknown verb | +| PUT | 1 | Refers to object.Put RPC call | +| GET | 2 | Refers to object.Get RPC call | +| HEAD | 3 | Refers to object.Head RPC call | +| SEARCH | 4 | Refers to object.Search RPC call | +| DELETE | 5 | Refers to object.Delete RPC call | +| RANGE | 6 | Refers to object.GetRange RPC call | +| RANGEHASH | 7 | Refers to object.GetRangeHash RPC call | + + + + + + ## Scalar Value Types | .proto Type | Notes | C++ Type | Java Type | Python Type |