using FrostFS.SDK.ClientV2.Mappers.GRPC; using FrostFS.Session; namespace FrostFS.SDK.ClientV2; public partial class Client { private async Task CreateSessionAsync(ulong expiration) { var request = new CreateRequest { Body = new CreateRequest.Types.Body { OwnerId = _owner.ToGrpcMessage(), Expiration = expiration, } }; request.AddMetaHeader(); request.Sign(_key); return await CreateSession(request); } private async Task CreateSession(CreateRequest request) { var resp = await _sessionServiceClient.CreateAsync(request); return new SessionToken { Body = new SessionToken.Types.Body { Id = resp.Body.Id, SessionKey = resp.Body.SessionKey, OwnerId = request.Body.OwnerId, Lifetime = new SessionToken.Types.Body.Types.TokenLifetime { Exp = request.Body.Expiration, Iat = resp.MetaHeader.Epoch, Nbf = resp.MetaHeader.Epoch, } } }; } }