1

ラムダプロキシインテグレーションを有効にし、レスポンスヘッダーをクライアントへのHTTP応答の一部として返すラムダ出力とAPIゲートウェイの一部として設定します。AWSラムダノードJSのhttp応答ヘッダーにCookieを設定します。

サンプルコード:

callback(null, { 
    "statusCode": 302, 
    "Location" : "https://somewebsite.com" 
    "headers": { "headerName": "headerValue", ... }, 
    "body": "..." 
}); 

私はヘッダーで3枚のクッキーを送信する必要があります。私は試した。しかし、失敗しました:

callback(null, { 
    "statusCode": 302, 
    "Location" : "https://somewebsite.com" 
    "headers": { "Set-Cookie": [cookie1String, cookie2String, cookie3String] }, 
    "body": "..." 
}); 

[編集] 私はクッキーを連結し、応答として渡され、クライアントがクッキーを取得します。しかし、クライアントが "location"内のターゲットを呼び出すと、要求にはヘッダーにクッキーが含まれません。

callback(null, { 
    "statusCode": 302, 
    "Location" : "https://somewebsite.com" 
    "headers": { "Set-Cookie": c1=cookie1String;c2=cookie2String; c3=cookie3String] }, 
    "body": "..." 
}); 

これらの3つのクッキーを私のクライアントに送信するのを手伝ってください。

答えて

-1

Apiゲートウェイでは、同じヘッダーを複数回マップすることはできません。私は別のケーシングセットクッキーメソッドを使用して周りにいた。

コールバック(NULL、{ "からstatusCode":302、 "場所": "https://somewebsite.com" "ヘッダ" { "のSet-Cookie":cookie1、 "セットクッキー":cookie2}、 「本体":" ... " });

+0

明らかにAWS APIのハックです。彼らが予告なしにそれを変更した場合、私は驚かないでしょう。 – vcarel

0

あなたの問題は、コールバック内のレスポンスオブジェクトが、apiゲートウェイが期待する方法でフォーマットされていないという事実に関連していると言えます。

これらのリンクは、awsのドキュメントを具体的に参照しています。

http://docs.aws.amazon.com/apigateway/latest/developerguide/handle-errors-in-lambda-integration.html

あなたのコードで問題...

  • 「場所」は、あなたのヘッダーキー/値のペアのようなものを使用して、実際のJSONオブジェクトであることを確認し、有効なプロパティのよう
  • を見ていませんJSON.stringify

完全なリクエストと応答で、api gatewayとlambdaのログを有効にすることを忘れないでください。これら2つのログは、デバッグに役立ちます。

関連する問題