Skip to content

Commit

Permalink
refactor: refactor naming scheme in auth package
Browse files Browse the repository at this point in the history
- Rename `Manager` to `TokenManager` in the auth package
- Rename `TokenManager` to `ITokenManager` in the auth package
- Update the associated methods and variable references according to these renames
  • Loading branch information
jqs7 committed Mar 11, 2024
1 parent ae72059 commit 8279a64
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 11 deletions.
12 changes: 6 additions & 6 deletions auth/instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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,
Expand All @@ -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)
}
Expand Down
2 changes: 1 addition & 1 deletion auth/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
8 changes: 4 additions & 4 deletions auth/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
"github.com/golang-jwt/jwt/v5"
)

type Manager[
type TokenManager[
S SigningKey,
V VerifyKey,
M SigningMethod,
Expand All @@ -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,
Expand All @@ -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"])
Expand All @@ -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)
Expand Down

0 comments on commit 8279a64

Please sign in to comment.