前提・実現したいこと
AWS cloudfrontのlambda@edgeでBASIC認証機能を実装しています。
BASIC認証機能は動作しております。
認証されたユーザ名文字列をAPI gatewayのオリジン(lambda)に引き渡す方法を教えてください。
イメージは以下の通りです。
クライアント → BASIC認証lambda ―(ユーザ名を渡したい)→ 処理用lambda
試したこと
BASIC認証用lambda(python)
認証OKの場合、useridにユーザ名をセットしてrequestを戻すようにしています。
request['headers']['x-userid'] = [{'key': 'X-Userid', 'value': userid}] return request
API Gatewayの統合リクエスト マッピングテンプレートに以下設定してみましたが、
処理用lambdaで値を参照してもユーザ名(X-Userid)が入っておらず(他のヘッダ情報は参照できます)。。。
マッピングテンプレート(ヘッダをjsonで渡す)
application/json { #foreach($param in $input.params().header.keySet()) "$param": "$util.escapeJavaScript($input.params().header.get($param))" #if($foreach.hasNext),#end #end }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。