10

Stworzyłem klucz API i dodałem go do moich funkcji. Mam następnie wdrożony API i testeed go ale nadal otrzymujemy:Używanie klawisza APi w bramce amazon api

"message": "Forbidden" 

Jak mogę przekazać klucz do mojego żądania JSON jak byłem za pomocą "X-API-klucz": "theKey"?

+0

ten [post] (http://www.awslessons.com/2017/aws-api-gateway-adding-apikey-requests/) wyjaśnił to dla mnie! – phouse512

Odpowiedz

13

Parametr x-api-key jest przekazywana jako parametr nagłówka HTTP (czyli nie jest on dodawany do ciała JSON). Sposób przekazywania nagłówków HTTP zależy od używanego klienta HTTP.

Na przykład, jeśli używasz curl i zakładając, że POST ładunek JSON, wniosek będzie wyglądać następująco (gdzie można zastąpić [api-id] z rzeczywistą ID oraz [region] z regionu AWS swojego API):

$ curl -X POST -H "x-api-key: theKey" -H "Content-Type: application/json" -d '{"key":"val"}' https://[api--id].execute-api.[region].amazonaws.com 
+0

Tak Używam żądania NSMutableURLRequest * w ios sdk, które następnie można dodać i działa – cdub

7

Mam nadzieję, że nie brakuje połączyć klucz API z API API-Gateway Configuration

12

Musiałem dodać plan wykorzystania interfejsu API, a następnie połączyć plan z etapem API.

Wygląda na to, że jest to jedyny sposób na połączenie klucza z interfejsem API, nie ma pewności, czy jest to ostatnia zmiana w AWS.

+2

Po prostu wpadł na ten sam problem. Zajęło mi pół godziny, aby dowiedzieć się, co się dzieje. Ten kiepski komunikat o błędzie: "{" message ":" Forbidden "}' nie był w ogóle użyteczny. Dzięki AWS !! – kev

+1

Classic AWS. Po prostu pomiń istotną część dokumentacji i nie informuj o problemie w komunikacie o błędzie ani o tym, jak go naprawić. Dzięki, to rozwiązało to dla mnie. –

5

Jeśli ustawisz opcję "Wymagany klucz API" na wartość true, sprawdź poniżej.

  1. trzeba przejść 'x-api-key' HTTP Header parametru API Gateway.

  2. Klucz API musiał zostać utworzony.

  3. Ponadto należy sprawdzić plan użycia klucza API w konsoli bramy API.

+0

Dzięki. Myślę, że dokumentacja aws nie jest jasna, aby o tym wspomnieć. –