diff --git a/auth/instance.go b/auth/instance.go index aa1caee..ea3bf32 100644 --- a/auth/instance.go +++ b/auth/instance.go @@ -14,7 +14,7 @@ type Builder[ M SigningMethod, T Alg[S, V, M], ] struct { - manager *Manager[S, V, M, T] + manager *TokenManager[S, V, M, T] } // InstanceBuilder returns a Builder instance. @@ -25,7 +25,7 @@ func InstanceBuilder[ T Alg[S, V, M], ](alg T) *Builder[S, V, M, T] { return &Builder[S, V, M, T]{ - manager: &Manager[S, V, M, T]{ + manager: &TokenManager[S, V, M, T]{ alg: alg, timeout: time.Minute * 5, refreshTimeout: time.Hour * 24 * 7, @@ -47,22 +47,22 @@ func (b *Builder[S, V, M, T]) SetRefreshTimeout(timeout time.Duration) *Builder[ func (b *Builder[S, V, M, T]) Build() *Instance { return &Instance{ - TokenManager: b.manager, + ITokenManager: b.manager, } } type Instance struct { - TokenManager + ITokenManager } // Sign returns a signed jwt string. func (e *Instance) Sign(uid string) (token string, err error) { - return e.TokenManager.SignWithClaims(uid, nil) + return e.SignWithClaims(uid, nil) } // CheckToken accept a jwt token and returns the uid in token. func (e *Instance) CheckToken(token string) (userID string, err error) { - t, err := e.TokenManager.ParseToken(token) + t, err := e.ParseToken(token) if err != nil { return "", fmt.Errorf("parse token: %w", err) } diff --git a/auth/interface.go b/auth/interface.go index 809c5ad..1b8beac 100644 --- a/auth/interface.go +++ b/auth/interface.go @@ -26,7 +26,7 @@ type SigningMethod interface { jwt.SigningMethod } -type TokenManager interface { +type ITokenManager interface { // SignWithClaims signs the token with the given claims. SignWithClaims(uid string, claims map[string]any) (token string, err error) // ParseToken parses the token string and returns a jwt.Token and an error. diff --git a/auth/manager.go b/auth/manager.go index f636273..10f08f3 100644 --- a/auth/manager.go +++ b/auth/manager.go @@ -8,7 +8,7 @@ import ( "github.com/golang-jwt/jwt/v5" ) -type Manager[ +type TokenManager[ S SigningKey, V VerifyKey, M SigningMethod, @@ -20,7 +20,7 @@ type Manager[ } // SignWithClaims signs the token with the given claims. -func (i *Manager[S, V, M, T]) SignWithClaims(uid string, claims map[string]any) (token string, err error) { +func (i *TokenManager[S, V, M, T]) SignWithClaims(uid string, claims map[string]any) (token string, err error) { now := time.Now() _claims := jwt.MapClaims{ "uid": uid, @@ -40,7 +40,7 @@ func (i *Manager[S, V, M, T]) SignWithClaims(uid string, claims map[string]any) } // ParseToken parse a token string. -func (i *Manager[S, V, M, T]) ParseToken(token string) (*jwt.Token, error) { +func (i *TokenManager[S, V, M, T]) ParseToken(token string) (*jwt.Token, error) { return jwt.Parse(token, func(token *jwt.Token) (interface{}, error) { if _, methodOK := token.Method.(M); !methodOK { signingErr := fmt.Errorf("unexpected signing method: %v", token.Header["alg"]) @@ -62,7 +62,7 @@ func (i *Manager[S, V, M, T]) ParseToken(token string) (*jwt.Token, error) { // RefreshToken accepts a valid token and // returns a new token with new expire time. -func (i *Manager[S, V, M, T]) RefreshToken(token string) (newToken string, err error) { +func (i *TokenManager[S, V, M, T]) RefreshToken(token string) (newToken string, err error) { t, err := i.ParseToken(token) if err != nil { return "", fmt.Errorf("parse token: %w", err)