feat: add JWT-Standard format to fix oidc address type problem (#3050)

* feat: add JWT-Standard option to return standard OIDC UserInfo

* fix: fix error occurs by different claim type

* feat: improve code format and add missing return
This commit is contained in:
DacongDA
2024-07-12 09:36:50 +08:00
committed by GitHub
parent cc979c310e
commit cef2ab213b
5 changed files with 168 additions and 7 deletions

View File

@ -309,12 +309,22 @@ func RefreshToken(grantType string, refreshToken string, scope string, clientId
}, nil
}
_, err = ParseJwtToken(refreshToken, cert)
if err != nil {
return &TokenError{
Error: InvalidGrant,
ErrorDescription: fmt.Sprintf("parse refresh token error: %s", err.Error()),
}, nil
if application.TokenFormat == "JWT-Standard" {
_, err = ParseStandardJwtToken(refreshToken, cert)
if err != nil {
return &TokenError{
Error: InvalidGrant,
ErrorDescription: fmt.Sprintf("parse refresh token error: %s", err.Error()),
}, nil
}
} else {
_, err = ParseJwtToken(refreshToken, cert)
if err != nil {
return &TokenError{
Error: InvalidGrant,
ErrorDescription: fmt.Sprintf("parse refresh token error: %s", err.Error()),
}, nil
}
}
// generate a new token