mirror of
https://github.com/pomerium/pomerium.git
synced 2025-05-31 09:57:17 +02:00
core/authorize: check for expired tokens (#4543)
* core/authorize: check for expired tokens * Update pkg/grpc/session/session.go Co-authored-by: Denis Mishin <dmishin@pomerium.com> * lint * fix zero timestamps * fix --------- Co-authored-by: Denis Mishin <dmishin@pomerium.com>
This commit is contained in:
parent
e5a7b994b6
commit
23ea48815f
7 changed files with 127 additions and 1 deletions
32
pkg/grpc/session/session_test.go
Normal file
32
pkg/grpc/session/session_test.go
Normal file
|
@ -0,0 +1,32 @@
|
|||
package session
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"google.golang.org/protobuf/types/known/timestamppb"
|
||||
)
|
||||
|
||||
func TestSession_Validate(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
t0 := timestamppb.New(time.Now().Add(-time.Second))
|
||||
for _, tc := range []struct {
|
||||
name string
|
||||
session *Session
|
||||
expect error
|
||||
}{
|
||||
{"valid", &Session{}, nil},
|
||||
{"expired", &Session{ExpiresAt: t0}, ErrSessionExpired},
|
||||
{"expired id token", &Session{IdToken: &IDToken{ExpiresAt: t0}}, ErrSessionExpired},
|
||||
{"expired oauth token", &Session{OauthToken: &OAuthToken{ExpiresAt: t0}}, ErrSessionExpired},
|
||||
} {
|
||||
tc := tc
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
assert.ErrorIs(t, tc.session.Validate(), tc.expect)
|
||||
})
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue