forked from TrueCloudLab/frostfs-node
[#1101] neofs-cli: Set expiration in session token based on network info
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
parent
1deea4e8c6
commit
b86b06c0ca
1 changed files with 13 additions and 2 deletions
|
@ -37,6 +37,8 @@ const (
|
||||||
|
|
||||||
const bearerTokenFlag = "bearer"
|
const bearerTokenFlag = "bearer"
|
||||||
|
|
||||||
|
const sessionTokenLifetime = 10 // in epochs
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// objectCmd represents the object command
|
// objectCmd represents the object command
|
||||||
objectCmd = &cobra.Command{
|
objectCmd = &cobra.Command{
|
||||||
|
@ -299,10 +301,14 @@ func prepareSessionPrmWithOwner(
|
||||||
ownerID *owner.ID,
|
ownerID *owner.ID,
|
||||||
prms ...clientKeySession,
|
prms ...clientKeySession,
|
||||||
) {
|
) {
|
||||||
var sessionPrm internalclient.CreateSessionPrm
|
var (
|
||||||
|
sessionPrm internalclient.CreateSessionPrm
|
||||||
|
netInfoPrm internalclient.NetworkInfoPrm
|
||||||
|
)
|
||||||
|
|
||||||
cws := make([]clientWithKey, 1, len(prms)+1)
|
cws := make([]clientWithKey, 2, len(prms)+2)
|
||||||
cws[0] = &sessionPrm
|
cws[0] = &sessionPrm
|
||||||
|
cws[1] = &netInfoPrm
|
||||||
|
|
||||||
for i := range prms {
|
for i := range prms {
|
||||||
cws = append(cws, prms[i])
|
cws = append(cws, prms[i])
|
||||||
|
@ -310,6 +316,11 @@ func prepareSessionPrmWithOwner(
|
||||||
|
|
||||||
prepareAPIClientWithKey(cmd, key, cws...)
|
prepareAPIClientWithKey(cmd, key, cws...)
|
||||||
|
|
||||||
|
ni, err := internalclient.NetworkInfo(netInfoPrm)
|
||||||
|
exitOnErr(cmd, errf("read network info: %w", err))
|
||||||
|
|
||||||
|
sessionPrm.SetExp(ni.NetworkInfo().CurrentEpoch() + sessionTokenLifetime)
|
||||||
|
|
||||||
sessionRes, err := internalclient.CreateSession(sessionPrm)
|
sessionRes, err := internalclient.CreateSession(sessionPrm)
|
||||||
exitOnErr(cmd, errf("open session: %w", err))
|
exitOnErr(cmd, errf("open session: %w", err))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue