AWS API Gatewayでカスタム認証を使用していますが、結果に応じて追加のHTTPヘッダーを追加したいと考えています。これが可能なのか、それをどうやって行うのか誰にも分かります。そうでない場合は、これが可能なのか、いつ可能になるのかという考えがありますか?APIゲートウェイのAWSカスタム認証からHTTPヘッダーを追加することはできますか?
多くのありがとうございます。あなたが唯一の承認者の結果からPrincipalIdを得ることができます
AWS API Gatewayでカスタム認証を使用していますが、結果に応じて追加のHTTPヘッダーを追加したいと考えています。これが可能なのか、それをどうやって行うのか誰にも分かります。そうでない場合は、これが可能なのか、いつ可能になるのかという考えがありますか?APIゲートウェイのAWSカスタム認証からHTTPヘッダーを追加することはできますか?
多くのありがとうございます。あなたが唯一の承認者の結果からPrincipalIdを得ることができます
を使用してヘッダーの値をマッピングすることができます。ドキュメントはすぐにアップする必要があります。
今、あなたは、承認者関数からこのようなオブジェクトを返すことができます。
{
"principalId": "xxxxxxxx", // The principal user identification associated with the token send by the client.
"policyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Action": "execute-api:Invoke",
"Effect": "Allow|Deny",
"Resource": "arn:aws:execute-api:<regionId>:<accountId>:<appId>/<stage>/<httpVerb>/[<resource>/<httpVerb>/[...]]"
}
]
},
"context" : {
"key" : "value",
"numKey" : 1,
"boolKey" : true
}
}
配列やオブジェクトは、有効なJSONとして、文字列のみ/数/ブール許可されていません。ルートキーの名前はcontext
である必要があります。
あなたはとてもように要求$コンテキストでこれらの値にアクセスすることができます。
$context.authorizer.key -> value
$context.authorizer.numKey -> 1
$context.authorizer.boolKey -> true
だからあなたの質問に答えるために、あなたは文句を言わない」条件付きがヘッダを追加できるようにしていますが、設定することができますヘッダー値を$context.authorizer.yourKey
に設定し、承認者の応答にyourKey
が設定されていない場合、ヘッダー値は空白になります(ヘッダーはまだ送信されます)。
編集:
ドキュメントが
、あなたの統合要求で、あなたは私たちは最近、このためのサポートを追加したcontext.authorizer.principalId
http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html#api-gateway-custom-authorizer-outputが、私は私の髪を引っ張っ日後にこの作業を取得することができたライブで、うまくいけば、私はそれから誰かを保存することができます。それはジャックの反応にもう少し追加されます。 基本的には、動的AuthPolicyを作成し、を移入するためにあなたのビジネスロジックを実行し、作成し、オーソラムダ(あなたが始めるために承認者の青写真ラムダを使用することができます)ボディマッピング・テンプレートに
"headers": { "key-header" : "$util.escapeJavaScript($context.authorizer.key)", #foreach($param in $input.params().header.keySet()) "$param": "$util.escapeJavaScript($input.params().header.get($param))" #if($foreach.hasNext),#end #end },
これはと呼ばれる新しいヘッダを追加します)大丈夫です』 user_id、user_roleなどのサービスをアップストリームサービスに追加
ありがとうございます。 –
マインドマーキングは正解ですか?これは、ドキュメントがライブになるまで、最も新しい機能に関するドキュメントです。 –
@ JackKohn-AWS、この作業はあなたのMockを使っているのですか?私は$ context.authorizer.principalIdをthで使用しようとしていますe統合要求のボディマッピングがエラーを投げています。 –