set session state expiry (#1215)

This commit is contained in:
Caleb Doxsey 2020-08-05 14:04:04 -06:00 committed by GitHub
parent 258cb26ed5
commit 6e26bd204a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -17,7 +17,7 @@ import (
"github.com/pomerium/csrf" "github.com/pomerium/csrf"
"github.com/rs/cors" "github.com/rs/cors"
"golang.org/x/oauth2" "golang.org/x/oauth2"
"google.golang.org/protobuf/types/known/timestamppb" "gopkg.in/square/go-jose.v2/jwt"
"github.com/pomerium/pomerium/internal/httputil" "github.com/pomerium/pomerium/internal/httputil"
"github.com/pomerium/pomerium/internal/identity/manager" "github.com/pomerium/pomerium/internal/identity/manager"
@ -533,10 +533,7 @@ func (a *Authenticate) saveSessionToDataBroker(ctx context.Context, sessionState
} }
sessionExpiry, _ := ptypes.TimestampProto(time.Now().Add(a.cookieOptions.Expire)) sessionExpiry, _ := ptypes.TimestampProto(time.Now().Add(a.cookieOptions.Expire))
var idTokenExpiry *timestamppb.Timestamp sessionState.Expiry = jwt.NewNumericDate(sessionExpiry.AsTime())
if sessionState.Expiry != nil {
idTokenExpiry, _ = ptypes.TimestampProto(sessionState.Expiry.Time())
}
idTokenIssuedAt, _ := ptypes.TimestampProto(sessionState.IssuedAt.Time()) idTokenIssuedAt, _ := ptypes.TimestampProto(sessionState.IssuedAt.Time())
s := &session.Session{ s := &session.Session{
@ -546,7 +543,7 @@ func (a *Authenticate) saveSessionToDataBroker(ctx context.Context, sessionState
IdToken: &session.IDToken{ IdToken: &session.IDToken{
Issuer: sessionState.Issuer, Issuer: sessionState.Issuer,
Subject: sessionState.Subject, Subject: sessionState.Subject,
ExpiresAt: idTokenExpiry, ExpiresAt: sessionExpiry,
IssuedAt: idTokenIssuedAt, IssuedAt: idTokenIssuedAt,
}, },
OauthToken: manager.ToOAuthToken(accessToken), OauthToken: manager.ToOAuthToken(accessToken),