feat: return oidc.Error in case of call token failure (#571)

This commit is contained in:
Célian GARCIA 2024-04-01 15:55:22 +02:00 committed by GitHub
parent 910f55ea7b
commit c89d0ed970
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 19 deletions

View file

@ -10,6 +10,8 @@ import (
"net/url"
"strings"
"time"
"github.com/zitadel/oidc/v3/pkg/oidc"
)
var DefaultHTTPClient = &http.Client{
@ -66,7 +68,12 @@ func HttpRequest(client *http.Client, req *http.Request, response any) error {
}
if resp.StatusCode != http.StatusOK {
return fmt.Errorf("http status not ok: %s %s", resp.Status, body)
var oidcErr oidc.Error
err = json.Unmarshal(body, &oidcErr)
if err != nil || oidcErr.ErrorType == "" {
return fmt.Errorf("http status not ok: %s %s", resp.Status, body)
}
return &oidcErr
}
err = json.Unmarshal(body, response)