1

私はAWSのラムダ関数にServerless Frameworkを使用しています。承認ヘッダーを送信するにはどうすればよいですか?私の現在の設定:AWSのサーバレスフレームワークを使用したレスポンスヘッダの送信

ラムダ関数

module.exports.createUser = (event, context, callback) => { 

    let response = { 
      statusCode: 302, 
      headers: { 
       "Authorization": userUtil.getToken(userId) 
      }, 
      body: "" 
     }; 
    callback(null, response); 
    return; 
} 

serverless.yml

createUser: 
    handler: functions/user.createUser 
    events: 
     - http: 
      path: users 
      method: post 
      cors: true 
      integration: lambda 

上記の設定は、本体とレスポンスオブジェクトを送信します。ステータスがまだあなたが代わりにあなたの設定でそれらを追加することで、あなたのコードでステータスコード、ヘッダとボディを設定したい場合は、私はサーバレスV1.10

答えて

0

を使用している200

で、あなたが使用する必要がありますラムダプロキシの設定詳細​​を参照してください。

デフォルトタイプはLambda-proxyです。したがって、serverless.ymlintegration: lambdaを削除する必要があります。また、cors: trueの設定を削除し、handler.jsを修正してCORSヘッダーを追加します。

にごラムダ関数を変更します。

createUser: 
    handler: functions/user.createUser 
    events: 
     - http: 
      path: users 
      method: post 
+0

おかげ@Zanon:

module.exports.createUser = (event, context, callback) => { let response = { statusCode: 302, headers: { "Authorization": userUtil.getToken(userId), "Access-Control-Allow-Origin" : "*", // Required for CORS support to work "Access-Control-Allow-Credentials" : true // Required for cookies, authorization headers with HTTPS }, body: "" }; callback(null, response); return; } 

にごserverless.ymlファイルを変更します。ルーキーミス!私はLambda-proxyを読むべきだった。 – rish08

関連する問題