removed session id from access token
This commit is contained in:
parent
c657a3a7da
commit
a8c974994b
2 changed files with 5 additions and 14 deletions
|
|
@ -8,5 +8,5 @@ import (
|
||||||
type JWTProvider interface {
|
type JWTProvider interface {
|
||||||
CreateAccessToken(userUuid, sessionUuid string) (string, error)
|
CreateAccessToken(userUuid, sessionUuid string) (string, error)
|
||||||
CreateRefreshToken(refreshUuid string, expires time.Time) *http.Cookie
|
CreateRefreshToken(refreshUuid string, expires time.Time) *http.Cookie
|
||||||
Parse(token string) (string, string, error)
|
Parse(token string) (string, error)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ func (j *JWT) CreateRefreshToken(refreshUuid string, expires time.Time) *http.Co
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (j *JWT) Parse(token string) (string, string, error) {
|
func (j *JWT) Parse(token string) (string, error) {
|
||||||
if strings.HasPrefix(token, "Bearer ") {
|
if strings.HasPrefix(token, "Bearer ") {
|
||||||
token = strings.TrimPrefix(token, "Bearer ")
|
token = strings.TrimPrefix(token, "Bearer ")
|
||||||
}
|
}
|
||||||
|
|
@ -78,25 +78,16 @@ func (j *JWT) Parse(token string) (string, string, error) {
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
return "", "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
if claims, ok := parse.Claims.(jwt.MapClaims); ok && parse.Valid {
|
if claims, ok := parse.Claims.(jwt.MapClaims); ok && parse.Valid {
|
||||||
userUuid := claims["sub"].(string)
|
userUuid := claims["sub"].(string)
|
||||||
|
|
||||||
var sessionUuid string
|
return userUuid, nil
|
||||||
if sid, exists := claims["sid"]; exists {
|
|
||||||
if tknStr, okay := sid.(string); okay {
|
|
||||||
sessionUuid = tknStr
|
|
||||||
} else {
|
|
||||||
return "", "", fmt.Errorf("invalid type for 'sid' claim")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return userUuid, sessionUuid, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return "", "", fmt.Errorf("invalid token")
|
return "", fmt.Errorf("invalid token")
|
||||||
}
|
}
|
||||||
|
|
||||||
func duration(minutes string) time.Duration {
|
func duration(minutes string) time.Duration {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue