Improve handling of expired sessions

This commit is contained in:
2024-10-03 14:00:43 +01:00
parent dca2b5214c
commit 38433dfff8
3 changed files with 39 additions and 11 deletions
+8 -1
View File
@@ -410,6 +410,7 @@ func (suite *TraefikOidcTestSuite) TestIsUserAuthenticated() {
setupSession func() *sessions.Session
expectedAuth bool
expectedRefresh bool
expectedExpired bool
}{
{
name: "Valid Token",
@@ -421,6 +422,7 @@ func (suite *TraefikOidcTestSuite) TestIsUserAuthenticated() {
},
expectedAuth: true,
expectedRefresh: false,
expectedExpired: false,
},
{
name: "Expired Token",
@@ -432,6 +434,7 @@ func (suite *TraefikOidcTestSuite) TestIsUserAuthenticated() {
},
expectedAuth: false,
expectedRefresh: false,
expectedExpired: true,
},
{
name: "Token Needs Refresh",
@@ -446,6 +449,7 @@ func (suite *TraefikOidcTestSuite) TestIsUserAuthenticated() {
},
expectedAuth: true,
expectedRefresh: true,
expectedExpired: false,
},
{
name: "Not Authenticated",
@@ -456,6 +460,7 @@ func (suite *TraefikOidcTestSuite) TestIsUserAuthenticated() {
},
expectedAuth: false,
expectedRefresh: false,
expectedExpired: false,
},
}
@@ -463,12 +468,14 @@ func (suite *TraefikOidcTestSuite) TestIsUserAuthenticated() {
suite.Run(tc.name, func() {
session := tc.setupSession()
suite.mockTokenVerifier.On("VerifyToken", mock.AnythingOfType("string")).Return(nil).Maybe()
authenticated, needsRefresh := suite.oidc.isUserAuthenticated(session)
authenticated, needsRefresh, expired := suite.oidc.isUserAuthenticated(session)
suite.Equal(tc.expectedAuth, authenticated)
suite.Equal(tc.expectedRefresh, needsRefresh)
suite.Equal(tc.expectedExpired, expired)
})
}
}
func (suite *TraefikOidcTestSuite) TestInitiateAuthentication() {
req := httptest.NewRequest("GET", "http://example.com", nil)
rw := httptest.NewRecorder()