6
6
"crypto/elliptic"
7
7
"crypto/rsa"
8
8
"encoding/base64"
9
- "io/fs"
10
9
"math/big"
11
10
"time"
12
11
@@ -16,22 +15,22 @@ import (
16
15
)
17
16
18
17
// generateAPIKeys generates JWT tokens using the appropriate signing method
19
- func (a * auth ) generateAPIKeys (fsys fs. FS ) error {
18
+ func (a * auth ) generateAPIKeys () error {
20
19
// Generate anon key if not provided
21
20
if len (a .AnonKey .Value ) == 0 {
22
- if signed , err := a .generateJWT ("anon" ); err != nil {
21
+ signed , err := a .generateJWT ("anon" )
22
+ if err != nil {
23
23
return err
24
- } else {
25
- a .AnonKey .Value = signed
26
24
}
25
+ a .AnonKey .Value = signed
27
26
}
28
27
// Generate service_role key if not provided
29
28
if len (a .ServiceRoleKey .Value ) == 0 {
30
- if signed , err := a .generateJWT ("service_role" ); err != nil {
29
+ signed , err := a .generateJWT ("service_role" )
30
+ if err != nil {
31
31
return err
32
- } else {
33
- a .ServiceRoleKey .Value = signed
34
32
}
33
+ a .ServiceRoleKey .Value = signed
35
34
}
36
35
return nil
37
36
}
@@ -43,6 +42,9 @@ func (a auth) generateJWT(role string) (string, error) {
43
42
return generateAsymmetricJWT (a .SigningKeys [0 ], claims )
44
43
}
45
44
// Fallback to generating symmetric keys
45
+ if len (a .JwtSecret .Value ) < 16 {
46
+ return "" , errors .Errorf ("Invalid config for auth.jwt_secret. Must be at least 16 characters" )
47
+ }
46
48
signed , err := claims .NewToken ().SignedString ([]byte (a .JwtSecret .Value ))
47
49
if err != nil {
48
50
return "" , errors .Errorf ("failed to generate JWT: %w" , err )
0 commit comments