From 146abe8520295ced5ae7067448c5e4a7adc933d9 Mon Sep 17 00:00:00 2001 From: Leonard Lyubich Date: Fri, 19 Feb 2021 13:32:22 +0300 Subject: [PATCH] [#388] cmd/cli: Use bearer token when collecting storage group members CLI `storagegroup put` cmd collects information about SG members via NeoFS API ObjectService.Head RPC in order to compose SG structure. Bearer token attached to the call was not used in communication, which could lead to data access problems. These changes fix the described problem. Signed-off-by: Leonard Lyubich --- cmd/neofs-cli/modules/storagegroup.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cmd/neofs-cli/modules/storagegroup.go b/cmd/neofs-cli/modules/storagegroup.go index 9dbe842c0..dc19863f2 100644 --- a/cmd/neofs-cli/modules/storagegroup.go +++ b/cmd/neofs-cli/modules/storagegroup.go @@ -96,6 +96,8 @@ type sgHeadReceiver struct { tok *token.SessionToken c *client.Client + + bearerToken *token.BearerToken } func (c *sgHeadReceiver) Head(addr *objectSDK.Address) (interface{}, error) { @@ -105,6 +107,7 @@ func (c *sgHeadReceiver) Head(addr *objectSDK.Address) (interface{}, error) { WithRawFlag(true), client.WithTTL(2), client.WithSession(c.tok), + client.WithBearer(c.bearerToken), ) var errSplitInfo *objectSDK.SplitInfoError @@ -158,9 +161,10 @@ func putSG(cmd *cobra.Command, _ []string) error { } sg, err := storagegroup.CollectMembers(&sgHeadReceiver{ - ctx: ctx, - tok: tok, - c: cli, + ctx: ctx, + tok: tok, + c: cli, + bearerToken: bearerToken, }, cid, members) if err != nil { return err