Ich erstelle die API in "Api-gateway"
und setze "API Key Required"
sie in den Methodenausführungseinstellungen auf true, aber in der Lambda-Funktion erhalte ich nur die "apiKeyId"
aus dem Anforderungsheader. Gibt es eine Möglichkeit die auch zu bekommen apiKeyName
?
Lösung des Problems
Kurz gesagt, der ApiKey-Name ist im ausführenden Lambda nicht verfügbar. Sie können das SDK nur verwenden, um alle Schlüssel abzufragen und dann manuell mit Code zu filtern.
Nebenbei bemerkt, Sie können dies auch in einem benutzerdefinierten Genehmiger tun und den Namen dem Aufrufkontext zuordnen. Auf diese Weise müssen Sie es nur einmal codieren und alle Lambdas erhalten den Parameter als Kontextvariable. Ein weiterer Vorteil dieser Implementierung ist, dass das Ergebnis des benutzerdefinierten Autorisierers zwischengespeichert wird.
nodejs-Implementierung eines benutzerdefinierten Autorisierers mit apikey Name Mapper
Keine Kommentare:
Kommentar veröffentlichen