From 4ed269979e119dd6f133f19bb4356b01919871ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20M=C3=B6hlmann?= Date: Fri, 18 Aug 2023 18:54:58 +0300 Subject: [PATCH] fix(op): check if getTokenIDAndClaims succeeded (#429) When getTokenIDAndClaims didn't succeed, so `ok` would be false. This was ignored and the accessTokenClaims.Claims call would panic. --- pkg/op/token_exchange.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/op/token_exchange.go b/pkg/op/token_exchange.go index 055ff13..5a2387d 100644 --- a/pkg/op/token_exchange.go +++ b/pkg/op/token_exchange.go @@ -282,6 +282,9 @@ func GetTokenIDAndSubjectFromToken( case oidc.AccessTokenType: var accessTokenClaims *oidc.AccessTokenClaims tokenIDOrToken, subject, accessTokenClaims, ok = getTokenIDAndClaims(ctx, exchanger, token) + if !ok { + break + } claims = accessTokenClaims.Claims case oidc.RefreshTokenType: refreshTokenRequest, err := exchanger.Storage().TokenRequestByRefreshToken(ctx, token)