@@ -8,7 +8,7 @@ import type {
88 HttpClientOptions ,
99 HttpClientRequestReturn ,
1010} from '../../lib/extend/safe_curl.js' ;
11- import { SecurityConfig } from '../../types.js' ;
11+ import { SecurityConfig , SecurityHelperConfig } from '../../types.js' ;
1212
1313const debug = debuglog ( '@eggjs/security/app/extend/context' ) ;
1414
@@ -113,10 +113,10 @@ export default class SecurityContext extends Context {
113113
114114 /**
115115 * ensure csrf secret exists in session or cookie.
116- * @param {Boolean } rotate reset secret even if the secret exists
116+ * @param {Boolean } [ rotate] reset secret even if the secret exists
117117 * @public
118118 */
119- ensureCsrfSecret ( rotate : boolean ) {
119+ ensureCsrfSecret ( rotate ? : boolean ) {
120120 if ( this [ CSRF_SECRET ] && ! rotate ) return ;
121121 debug ( 'ensure csrf secret, exists: %s, rotate; %s' , this [ CSRF_SECRET ] , rotate ) ;
122122 const secret = tokens . secretSync ( ) ;
@@ -154,7 +154,7 @@ export default class SecurityContext extends Context {
154154 // try order: query, body, header
155155 const token = findToken ( this . request . query , queryName )
156156 || findToken ( this . request . body , bodyName )
157- || ( headerName && this . request . get ( headerName ) ) ;
157+ || ( headerName && this . request . get < string > ( headerName ) ) ;
158158 debug ( 'get token: %j, secret: %j' , token , this [ CSRF_SECRET ] ) ;
159159 return token ;
160160 }
@@ -265,11 +265,11 @@ export default class SecurityContext extends Context {
265265
266266declare module '@eggjs/core' {
267267 interface Context {
268- get securityOptions ( ) : Partial < SecurityConfig > ;
268+ get securityOptions ( ) : Partial < SecurityConfig & SecurityHelperConfig > ;
269269 isSafeDomain ( domain : string , customWhiteList ?: string [ ] ) : boolean ;
270270 get nonce ( ) : string ;
271271 get csrf ( ) : string ;
272- ensureCsrfSecret ( rotate : boolean ) : void ;
272+ ensureCsrfSecret ( rotate ? : boolean ) : void ;
273273 rotateCsrfSecret ( ) : void ;
274274 assertCsrf ( ) : void ;
275275 safeCurl ( url : HttpClientRequestURL , options ?: HttpClientOptions ) : HttpClientRequestReturn ;
0 commit comments