forked from TrueCloudLab/frostfs-api
service: put token lifetime in a separate message
This commit is contained in:
parent
228c8f8cbd
commit
ea9e39b3e0
2 changed files with 26 additions and 8 deletions
|
@ -17,6 +17,7 @@
|
||||||
- [RequestVerificationHeader.Signature](#service.RequestVerificationHeader.Signature)
|
- [RequestVerificationHeader.Signature](#service.RequestVerificationHeader.Signature)
|
||||||
- [Token](#service.Token)
|
- [Token](#service.Token)
|
||||||
- [Token.Info](#service.Token.Info)
|
- [Token.Info](#service.Token.Info)
|
||||||
|
- [TokenLifetime](#service.TokenLifetime)
|
||||||
|
|
||||||
|
|
||||||
- [Scalar Value Types](#scalar-value-types)
|
- [Scalar Value Types](#scalar-value-types)
|
||||||
|
@ -123,10 +124,21 @@ User token granting rights for object manipulation
|
||||||
| OwnerID | [bytes](#bytes) | | OwnerID is an owner of manipulation object |
|
| OwnerID | [bytes](#bytes) | | OwnerID is an owner of manipulation object |
|
||||||
| verb | [Token.Info.Verb](#service.Token.Info.Verb) | | Verb is a type of request for which the token is issued |
|
| verb | [Token.Info.Verb](#service.Token.Info.Verb) | | Verb is a type of request for which the token is issued |
|
||||||
| Address | [refs.Address](#refs.Address) | | Address is an object address for which token is issued |
|
| Address | [refs.Address](#refs.Address) | | Address is an object address for which token is issued |
|
||||||
| Created | [uint64](#uint64) | | Created is an initial epoch of token lifetime |
|
| Lifetime | [TokenLifetime](#service.TokenLifetime) | | Lifetime is a lifetime of the session |
|
||||||
| ValidUntil | [uint64](#uint64) | | ValidUntil is a last epoch of token lifetime |
|
|
||||||
| SessionKey | [bytes](#bytes) | | SessionKey is a public key of session key |
|
| SessionKey | [bytes](#bytes) | | SessionKey is a public key of session key |
|
||||||
|
|
||||||
|
|
||||||
|
<a name="service.TokenLifetime"></a>
|
||||||
|
|
||||||
|
### Message TokenLifetime
|
||||||
|
TokenLifetime carries a group of lifetime parameters of the token
|
||||||
|
|
||||||
|
|
||||||
|
| Field | Type | Label | Description |
|
||||||
|
| ----- | ---- | ----- | ----------- |
|
||||||
|
| Created | [uint64](#uint64) | | Created carries an initial epoch of token lifetime |
|
||||||
|
| ValidUntil | [uint64](#uint64) | | ValidUntil carries a last epoch of token lifetime |
|
||||||
|
|
||||||
<!-- end messages -->
|
<!-- end messages -->
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -58,14 +58,11 @@ message Token {
|
||||||
// Address is an object address for which token is issued
|
// Address is an object address for which token is issued
|
||||||
refs.Address Address = 4 [(gogoproto.nullable) = false, (gogoproto.customtype) = "Address"];
|
refs.Address Address = 4 [(gogoproto.nullable) = false, (gogoproto.customtype) = "Address"];
|
||||||
|
|
||||||
// Created is an initial epoch of token lifetime
|
// Lifetime is a lifetime of the session
|
||||||
uint64 Created = 5;
|
TokenLifetime Lifetime = 5 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
|
||||||
|
|
||||||
// ValidUntil is a last epoch of token lifetime
|
|
||||||
uint64 ValidUntil = 6;
|
|
||||||
|
|
||||||
// SessionKey is a public key of session key
|
// SessionKey is a public key of session key
|
||||||
bytes SessionKey = 7;
|
bytes SessionKey = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TokenInfo is a grouped information about token
|
// TokenInfo is a grouped information about token
|
||||||
|
@ -75,6 +72,15 @@ message Token {
|
||||||
bytes Signature = 8;
|
bytes Signature = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TokenLifetime carries a group of lifetime parameters of the token
|
||||||
|
message TokenLifetime {
|
||||||
|
// Created carries an initial epoch of token lifetime
|
||||||
|
uint64 Created = 1;
|
||||||
|
|
||||||
|
// ValidUntil carries a last epoch of token lifetime
|
||||||
|
uint64 ValidUntil = 2;
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: for variable token types and version redefine message
|
// TODO: for variable token types and version redefine message
|
||||||
// Example:
|
// Example:
|
||||||
// message Token {
|
// message Token {
|
||||||
|
|
Loading…
Reference in a new issue