frostfs-s3-gw/creds/accessbox/bearer_token.go
Roman Khimov dbe65ae602 creds: move credential management into s3 gate
Mostly taken from old SDK (abe47687cd11266f946cad57f07572cc10c67226), but
error handling adapted to eliminate pkg/errors and internal packages.

Signed-off-by: Roman Khimov <roman@nspcc.ru>
2021-05-25 23:00:19 +03:00

38 lines
616 B
Go

package accessbox
import (
"github.com/nspcc-dev/neofs-api-go/pkg/token"
)
type bearerBox struct {
tkn *token.BearerToken
}
func NewBearerBox(token *token.BearerToken) BearerTokenBox {
return &bearerBox{tkn: token}
}
func (b *bearerBox) Marshal() ([]byte, error) {
return b.tkn.Marshal(nil)
}
func (b *bearerBox) Unmarshal(data []byte) error {
tkn := token.NewBearerToken()
err := tkn.Unmarshal(data)
if err != nil {
return err
}
b.SetToken(tkn)
return nil
}
func (b *bearerBox) Token() *token.BearerToken {
return b.tkn
}
func (b *bearerBox) SetToken(tkn *token.BearerToken) {
b.tkn = tkn
}