summaryrefslogtreecommitdiff
path: root/player-server/internal/service/auth.go
diff options
context:
space:
mode:
Diffstat (limited to 'player-server/internal/service/auth.go')
-rw-r--r--player-server/internal/service/auth.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/player-server/internal/service/auth.go b/player-server/internal/service/auth.go
index 6bd2055..1fe468b 100644
--- a/player-server/internal/service/auth.go
+++ b/player-server/internal/service/auth.go
@@ -92,8 +92,13 @@ func (s *authService) Login(ctx context.Context, username, password string) (*Au
}
// CreateAPIToken creates a hashed API token and returns the one-time plaintext value.
+// A token generation failure (e.g. crypto/rand.Read returning an error) is
+// surfaced to the caller; the HTTP layer translates it into a 500 response.
func (s *authService) CreateAPIToken(ctx context.Context, userID int64, name string, expiresAt *time.Time) (*CreateAPITokenResult, error) {
- plaintext, hash := s.tm.Generate()
+ plaintext, hash, err := s.tm.Generate()
+ if err != nil {
+ return nil, fmt.Errorf("generate api token: %w", err)
+ }
now := s.clock.Now()
token := &model.APIToken{
UserID: userID,