fix: missing parameter type_token_hint in IntrospectToken() (#2812)

* fix: missing parameter type_token_hint in IntrospectToken(); fix key token type
This commit is contained in:
Ron
2024-03-16 22:39:04 +05:00
committed by GitHub
parent 96812f676b
commit a19060c7cb
2 changed files with 20 additions and 16 deletions

View File

@@ -317,7 +317,8 @@ func (c *ApiController) IntrospectToken() {
return return
} }
token, err := object.GetTokenByTokenValue(tokenValue) tokenTypeHint := c.Input().Get("token_type_hint")
token, err := object.GetTokenByTokenValue(tokenValue, tokenTypeHint)
if err != nil { if err != nil {
c.ResponseTokenError(err.Error()) c.ResponseTokenError(err.Error())
return return

View File

@@ -137,7 +137,9 @@ func GetTokenByRefreshToken(refreshToken string) (*Token, error) {
return &token, nil return &token, nil
} }
func GetTokenByTokenValue(tokenValue string) (*Token, error) { func GetTokenByTokenValue(tokenValue, tokenTypeHint string) (*Token, error) {
switch tokenTypeHint {
case "access_token":
token, err := GetTokenByAccessToken(tokenValue) token, err := GetTokenByAccessToken(tokenValue)
if err != nil { if err != nil {
return nil, err return nil, err
@@ -145,14 +147,15 @@ func GetTokenByTokenValue(tokenValue string) (*Token, error) {
if token != nil { if token != nil {
return token, nil return token, nil
} }
case "refresh_token":
token, err = GetTokenByRefreshToken(tokenValue) token, err := GetTokenByRefreshToken(tokenValue)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if token != nil { if token != nil {
return token, nil return token, nil
} }
}
return nil, nil return nil, nil
} }