add missing error handling

This commit is contained in:
Livio Amstutz 2020-09-15 07:32:14 +02:00
parent 8790b54e0d
commit 5a98ec4623

View file

@ -2,6 +2,7 @@ package rp
import ( import (
"context" "context"
"errors"
"net/http" "net/http"
"strings" "strings"
@ -271,17 +272,19 @@ func CodeExchange(ctx context.Context, code string, rp RelayingParty, opts ...Co
if err != nil { if err != nil {
return nil, err //TODO: our error return nil, err //TODO: our error
} }
idTokenString, ok := token.Extra(idTokenKey).(string)
if !ok { if rp.IsOAuth2Only() {
//TODO: implement return &oidc.Tokens{Token: token}, nil
} }
idToken := new(oidc.IDTokenClaims) idTokenString, ok := token.Extra(idTokenKey).(string)
if !rp.IsOAuth2Only() { if !ok {
idToken, err = VerifyTokens(ctx, token.AccessToken, idTokenString, rp.IDTokenVerifier()) return nil, errors.New("id_token missing")
if err != nil { }
return nil, err //TODO: err
} idToken, err := VerifyTokens(ctx, token.AccessToken, idTokenString, rp.IDTokenVerifier())
if err != nil {
return nil, err
} }
return &oidc.Tokens{Token: token, IDTokenClaims: idToken, IDToken: idTokenString}, nil return &oidc.Tokens{Token: token, IDTokenClaims: idToken, IDToken: idTokenString}, nil