add missing error handling
This commit is contained in:
parent
8790b54e0d
commit
5a98ec4623
1 changed files with 12 additions and 9 deletions
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue