2020-08-24 15:50:57 +00:00
|
|
|
package storage
|
|
|
|
|
|
|
|
import (
|
|
|
|
"crypto/ecdsa"
|
|
|
|
)
|
|
|
|
|
|
|
|
// PrivateToken represents private session info.
|
|
|
|
type PrivateToken struct {
|
|
|
|
sessionKey *ecdsa.PrivateKey
|
|
|
|
|
|
|
|
exp uint64
|
|
|
|
}
|
|
|
|
|
2022-03-20 19:55:47 +00:00
|
|
|
// NewPrivateToken returns new private token based on the
|
|
|
|
// passed values.
|
|
|
|
func NewPrivateToken(sk *ecdsa.PrivateKey, exp uint64) *PrivateToken {
|
|
|
|
return &PrivateToken{
|
|
|
|
sessionKey: sk,
|
|
|
|
exp: exp,
|
|
|
|
}
|
2022-03-18 08:46:07 +00:00
|
|
|
}
|
|
|
|
|
2020-08-24 15:50:57 +00:00
|
|
|
// SessionKey returns the private session key.
|
|
|
|
func (t *PrivateToken) SessionKey() *ecdsa.PrivateKey {
|
|
|
|
return t.sessionKey
|
|
|
|
}
|
2021-10-25 12:19:50 +00:00
|
|
|
|
|
|
|
// ExpiredAt returns epoch number until token is valid.
|
|
|
|
func (t *PrivateToken) ExpiredAt() uint64 {
|
|
|
|
return t.exp
|
|
|
|
}
|