Commit graph

76 commits

Author SHA1 Message Date
Leonard Lyubich
4fa7360cd1 session: support the expiration of private tokens
All sessions in NeoFS has limited in epochs lifetime. There is a need
to limit the lifetime of private session tokens.

This commmit:

  * extends PrivateToken interface with Expired method;

  * defines EpochLifetimeStore interface with RemoveExpired method
    and embeds it to PrivateTokenStore interface;

  * adds epoch value parameter to private token constructor.
2020-04-29 14:11:19 +03:00
Leonard Lyubich
ffd4338eb3 session: fix NewPrivateToken function doc 2020-04-29 12:59:58 +03:00
Leonard Lyubich
608f578105 session: removes unused errors 2020-04-29 12:50:52 +03:00
Leonard Lyubich
79142ada04 session: replace used type aliases to separate file 2020-04-29 12:49:27 +03:00
Leonard Lyubich
f0867036fb session: remove trivial defaultCurve function 2020-04-29 12:46:05 +03:00
Leonard Lyubich
701bbafcf1 session: change KeyStore documentation 2020-04-29 12:44:35 +03:00
Leonard Lyubich
22265a9f03 session: refactor token store
This commit:

  * changes the set and signatures of TokenStore interface methods;

  * adds unit test for map storage.
2020-04-29 12:39:41 +03:00
Leonard Lyubich
dfc2dd8a78 session: replace PToken structure with PrivateToken interface
In previous implementation PToken contained the full Token structure.
Since private token is used for data signature only, storing unused
fields of a user token is impractical. To emphasize the purpose of
the private part of the session, it makes sense to provide the user
of the session package with its interface. The interface will only provide
the functionality of data signing with private session key.

This commit:

  * removes PToken structure from session package;

  * defines PrivateToken interface of private session part;

  * adds the implementation of PrivateToken on unexported struct;

  * provides the constructor that generates session key internally.
2020-04-29 11:52:05 +03:00
Leonard Lyubich
c6971d2004 service: access Token message fields through getters and setters 2020-04-28 18:40:21 +03:00
Leonard Lyubich
4ac17201b7 Resolve update conflicts 2020-04-28 13:33:43 +03:00
Leonard Lyubich
e63d112cb2 Update to neofs-api v0.7.2 2020-04-28 12:50:52 +03:00
Evgeniy Kulikov
b118f469d2
Migrate to new repo 2020-03-31 10:05:26 +03:00
Evgeniy Kulikov
49cc731c8d
update proto files, regenerate pb.go 2020-02-05 16:58:06 +03:00
Evgeniy Kulikov
53af48372f
prepare to rename neofs-proto to neofs-api 2020-01-30 16:35:30 +03:00
alexvanin
01b910fd31 session: Add public key to the constructor of new private token
Private token based on the token with private key. Therefore
it must inherit public key field through constructor parameter.
2020-01-17 14:56:51 +03:00
alexvanin
b556d54f16 session: Modify verify routine to check owner id connection with public keys 2020-01-17 13:18:36 +03:00
alexvanin
e88a6ee028 session: Add owner's public key into session token
We want to remove all innner ring queries to authenticate
owner by public keys. Therefore we put public keys into
session token. Later public keys could be gathered with NeoID
or other centre of authority.
2020-01-17 13:18:36 +03:00
Evgeniy Kulikov
1a9a840d17
proto: regenerate proto files 2019-11-21 16:16:39 +03:00
Evgeniy Kulikov
c35eefec3b
docs: add doc comments for session and state requests 2019-11-21 16:16:34 +03:00
Evgeniy Kulikov
24e5497b1d
Update develop branch 2019-11-21 13:10:57 +03:00
Evgeniy Kulikov
165dc9abd7
linter: fix doc comments issues 2019-11-21 13:01:08 +03:00
Evgeniy Kulikov
e333a13557
docs: regenerate proto files 2019-11-21 10:34:38 +03:00
Evgeniy Kulikov
15b997bdb5
docs: update proto doc comments to satisfy go-doc comment 2019-11-21 10:26:01 +03:00
alexvanin
0af63c42cc docs: regenerate proto files 2019-11-20 21:43:04 +03:00
Leonard Lyubich
04f1cbca48 docs: add session proto documentation 2019-11-20 21:43:04 +03:00
Evgeniy Kulikov
1cf33e5ffd
initial 2019-11-18 16:34:06 +03:00