Merge pull request #37 from nspcc-dev/fix/add-public-keys-to-session-store

session: Add public key to the constructor of new private token
This commit is contained in:
Alex Vanin 2020-01-17 15:06:20 +03:00 committed by GitHub
commit 40f3b3673d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 2 deletions

View file

@ -33,6 +33,7 @@ type (
LastEpoch uint64 LastEpoch uint64
ObjectID []ObjectID ObjectID []ObjectID
OwnerID OwnerID OwnerID OwnerID
PublicKeys [][]byte
} }
) )

View file

@ -54,6 +54,7 @@ func (s *simpleStore) New(p TokenParams) *PToken {
LastEpoch: p.LastEpoch, LastEpoch: p.LastEpoch,
ObjectID: p.ObjectID, ObjectID: p.ObjectID,
OwnerID: p.OwnerID, OwnerID: p.OwnerID,
PublicKeys: p.PublicKeys,
}, },
PrivateKey: key, PrivateKey: key,
} }

View file

@ -57,9 +57,14 @@ func TestTokenStore(t *testing.T) {
c := newTestClient(t) c := newTestClient(t)
require.NotNil(t, c) require.NotNil(t, c)
pk := [][]byte{crypto.MarshalPublicKey(&c.PublicKey)}
// create new token // create new token
token := s.New(TokenParams{ObjectID: []ObjectID{oid}, OwnerID: c.OwnerID}) token := s.New(TokenParams{
ObjectID: []ObjectID{oid},
OwnerID: c.OwnerID,
PublicKeys: pk,
})
signToken(t, token, c) signToken(t, token, c)
// check that it can be fetched // check that it can be fetched
@ -68,7 +73,11 @@ func TestTokenStore(t *testing.T) {
require.Equal(t, token, t1) require.Equal(t, token, t1)
// create and sign another token by the same client // create and sign another token by the same client
t1 = s.New(TokenParams{ObjectID: []ObjectID{oid}, OwnerID: c.OwnerID}) t1 = s.New(TokenParams{
ObjectID: []ObjectID{oid},
OwnerID: c.OwnerID,
PublicKeys: pk})
signToken(t, t1, c) signToken(t, t1, c)
data := []byte{1, 2, 3} data := []byte{1, 2, 3}