git.iko.soy/typeable/oauth2-proxy
on master help sign in
Validate OIDC Session State
cac2c97Joel Speed
providers/oidc.go+11
@@ -128,3 +128,14 @@ func (p *OIDCProvider) createSessionState(ctx context.Context, token *oauth2.Tok
128 Email: claims.Email,
128 Email: claims.Email,
129 }, nil
129 }, nil
130}
130}
131+
132+// ValidateSessionState checks that the session's IDToken is still valid
133+func (p *OIDCProvider) ValidateSessionState(s *SessionState) bool {
134+ ctx := context.Background()
135+ _, err := p.Verifier.Verify(ctx, s.IDToken)
136+ if err != nil {
137+ return false
138+ }
139+
140+ return true
141+}