diff options
| author | Shulhan <ms@kilabit.info> | 2026-03-30 03:49:19 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2026-03-30 06:35:53 +0700 |
| commit | e931ffed0aada7427d7016ce681b2d038b668ba3 (patch) | |
| tree | ef3efc06d880698cd0cecf80f3792bfc69db7c68 /lib/paseto/v2/public_mode.go | |
| parent | 5335f8d5e049866c904b506e28a7e48c8c787024 (diff) | |
| download | pakakeh.go-e931ffed0aada7427d7016ce681b2d038b668ba3.tar.xz | |
lib/paseto: store the time as Unix epoch inside Payload
Previously, we use time.Time to store the value for ExpiredAt, NotBefore,
and IssuedAt.
Even thought this is allowed (see RFC 7519 section 2, NumericDate) but
it is not a standard practices.
This changes them to store Unix epoch with int64.
Diffstat (limited to 'lib/paseto/v2/public_mode.go')
| -rw-r--r-- | lib/paseto/v2/public_mode.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/paseto/v2/public_mode.go b/lib/paseto/v2/public_mode.go index d322a0b1..c10a7a42 100644 --- a/lib/paseto/v2/public_mode.go +++ b/lib/paseto/v2/public_mode.go @@ -106,15 +106,15 @@ func (auth *PublicMode) RemovePeer(id string) { func (auth *PublicMode) Pack(audience, subject string, data []byte, footer map[string]any) ( token string, err error, ) { - now := time.Now().Round(time.Second) - expiredAt := now.Add(paseto.DefaultTTL) + now := time.Now().UTC().Unix() + expiredAt := now + paseto.DefaultTTL jsonToken := paseto.Payload{ Issuer: auth.our.ID, Subject: subject, Audience: audience, - IssuedAt: &now, - NotBefore: &now, - ExpiredAt: &expiredAt, + IssuedAt: now, + NotBefore: now, + ExpiredAt: expiredAt, Data: base64.StdEncoding.EncodeToString(data), } |
