@@ -48,10 +48,6 @@ export class Saturn {
48
48
downloadTimeout : 0
49
49
} , config )
50
50
51
- if ( ! this . config . clientKey ) {
52
- throw new Error ( 'clientKey is required' )
53
- }
54
-
55
51
this . logs = [ ]
56
52
this . nodes = [ ]
57
53
this . reportingLogs = process ?. env ?. NODE_ENV !== 'development'
@@ -74,17 +70,20 @@ export class Saturn {
74
70
if ( ! opts . originFallback ) {
75
71
const [ cid ] = ( cidPath ?? '' ) . split ( '/' )
76
72
CID . parse ( cid )
77
- const jwt = await getJWT ( options , this . storage )
78
- options . jwt = jwt
79
- }
80
73
81
- if ( ! isBrowserContext ) {
82
- options . headers = {
83
- ...( options . headers || { } ) ,
84
- Authorization : 'Bearer ' + options . jwt
74
+ if ( options . clientKey ) {
75
+ options . jwt = await getJWT ( options , this . storage )
85
76
}
86
77
}
87
78
79
+ options . headers = {
80
+ ...( options . headers || { } )
81
+ }
82
+
83
+ if ( ! isBrowserContext && options . jwt ) {
84
+ options . headers . Authorization = 'Bearer ' + options . jwt
85
+ }
86
+
88
87
let nodes = options . nodes
89
88
if ( ! nodes || nodes . length === 0 ) {
90
89
const replacementNode = { url : options . cdnURL }
@@ -165,8 +164,10 @@ export class Saturn {
165
164
if ( ! opts . originFallback ) {
166
165
const [ cid ] = ( cidPath ?? '' ) . split ( '/' )
167
166
CID . parse ( cid )
168
- const jwt = await getJWT ( this . config , this . storage )
169
- options . jwt = jwt
167
+
168
+ if ( options . clientKey ) {
169
+ options . jwt = await getJWT ( options , this . storage )
170
+ }
170
171
}
171
172
172
173
const node = options . nodes && options . nodes [ 0 ]
@@ -184,12 +185,14 @@ export class Saturn {
184
185
controller . abort ( )
185
186
} , options . connectTimeout )
186
187
187
- if ( ! isBrowserContext ) {
188
- options . headers = {
189
- ...( options . headers || { } ) ,
190
- Authorization : 'Bearer ' + options . jwt
191
- }
188
+ options . headers = {
189
+ ...( options . headers || { } )
192
190
}
191
+
192
+ if ( ! isBrowserContext && options . jwt ) {
193
+ options . headers . Authorization = 'Bearer ' + options . jwt
194
+ }
195
+
193
196
let res
194
197
try {
195
198
res = await fetch ( parseUrl ( url ) , { signal : controller . signal , ...options } )
@@ -417,7 +420,7 @@ export class Saturn {
417
420
url . searchParams . set ( 'dag-scope' , 'entity' )
418
421
}
419
422
420
- if ( isBrowserContext ) {
423
+ if ( isBrowserContext && opts . jwt ) {
421
424
url . searchParams . set ( 'jwt' , opts . jwt )
422
425
}
423
426
0 commit comments