@@ -3159,6 +3159,7 @@ function getObjectUrl(params, callback) {
31593159 Headers : params . Headers ,
31603160 Query : params . Query ,
31613161 SignHost : SignHost ,
3162+ ForceSignHost : params . ForceSignHost === false ? false : self . options . ForceSignHost , // getObjectUrl支持传参ForceSignHost
31623163 } , function ( err , AuthData ) {
31633164 if ( ! callback ) return ;
31643165 if ( err ) {
@@ -3339,8 +3340,11 @@ function getAuthorizationAsync(params, callback) {
33393340 if ( k . toLowerCase ( ) === 'host' ) headerHost = v ;
33403341 } ) ;
33413342
3343+ // ForceSignHost明确传入false才不加入host签名
3344+ var forceSignHost = params . ForceSignHost === false ? false : true ;
3345+
33423346 // Host 加入签名计算
3343- if ( ! headerHost && params . SignHost ) headers . Host = params . SignHost ;
3347+ if ( ! headerHost && params . SignHost && forceSignHost ) headers . Host = params . SignHost ;
33443348
33453349
33463350 // 获取凭证的回调,避免用户 callback 多次
@@ -3412,7 +3416,8 @@ function getAuthorizationAsync(params, callback) {
34123416 Expires : params . Expires ,
34133417 UseRawKey : self . options . UseRawKey ,
34143418 SystemClockOffset : self . options . SystemClockOffset ,
3415- KeyTime : KeyTime
3419+ KeyTime : KeyTime ,
3420+ ForceSignHost : forceSignHost ,
34163421 } ) ;
34173422 var AuthData = {
34183423 Authorization : Authorization ,
@@ -3476,6 +3481,7 @@ function getAuthorizationAsync(params, callback) {
34763481 Headers : headers ,
34773482 Scope : Scope ,
34783483 SystemClockOffset : self . options . SystemClockOffset ,
3484+ ForceSignHost : forceSignHost ,
34793485 } , function ( AuthData ) {
34803486 if ( typeof AuthData === 'string' ) AuthData = { Authorization : AuthData } ;
34813487 var AuthError = checkAuthError ( AuthData ) ;
@@ -3517,6 +3523,7 @@ function getAuthorizationAsync(params, callback) {
35173523 Expires : params . Expires ,
35183524 UseRawKey : self . options . UseRawKey ,
35193525 SystemClockOffset : self . options . SystemClockOffset ,
3526+ ForceSignHost : forceSignHost ,
35203527 } ) ;
35213528 var AuthData = {
35223529 Authorization : Authorization ,
@@ -3594,6 +3601,7 @@ function submitRequest(params, callback) {
35943601 Action : params . Action ,
35953602 ResourceKey : params . ResourceKey ,
35963603 Scope : params . Scope ,
3604+ ForceSignHost : self . options . ForceSignHost ,
35973605 } , function ( err , AuthData ) {
35983606 if ( err ) return callback ( err ) ;
35993607 params . AuthData = AuthData ;
0 commit comments