add token service, sqlite driver and test

This commit is contained in:
2025-12-18 09:46:57 +02:00
parent 8836ea2673
commit cdde811e72
4 changed files with 139 additions and 0 deletions

30
internal/token/service.go Normal file
View File

@@ -0,0 +1,30 @@
package token
import (
"fmt"
"time"
)
type TokenStore interface {
revoke(tokenID string, expiresAt time.Time) error
isRevoked(tokenID string) (bool, error)
}
type TokenService struct {
store TokenStore
}
func NewTokenService(store TokenStore) (*TokenService, error) {
if store == nil {
return nil, fmt.Errorf("store is nil")
}
return &TokenService{store: store}, nil
}
func (s *TokenService) Revoke(jti string, exp time.Time) error {
return s.store.revoke(jti, exp)
}
func (s *TokenService) IsRevoked(jti string) (bool, error) {
return s.store.isRevoked(jti)
}