2015-09-18 15 views
11

Pracuję nad aplikacją internetową opartą na Amazon API Gateway. Teraz stworzyłem login na Facebooku i pomyślnie zalogowałem się na stronie internetowej. ale kiedy zadzwonię do innego API, wszystko zniknęło. Myślę, że powinienem przekazywać token Cognito za każdym razem, gdy wywołuję API. czy mam rację?Jak przekazać token Cognito do Amazon API Gateway?

jeśli tak, jak przekazać token Cognito do interfejsu API? jak nagłówek? lub w inny sposób?

Dzięki,

+0

Co masz na myśli przez wszystko zniknie? Jakich informacji potrzebujesz dla dzwoniącego w API API Gateway? –

+0

Czy możesz podać przykładowy kod i komunikaty o błędach, które otrzymujesz? –

+0

@ScottWilleke moje wywołania strony logowania/doLogin API, a następnie otrzymuję token i identyfikator od Cognito. Następnie przechodzę do strony z ograniczeniami, jak profil, wywołuje/showProfile API. Teraz/showProfile nie wie, że jestem zalogowany, czy nie. Daje mi błąd "Brakujący token uwierzytelniający". Myślę, że powinienem wysłać mój token i identyfikator do wszystkich wywołań API Gateway, ale jak je wysłać? nagłówek taki jak "Amazon-Cognito-Token"? lub w inny sposób? – user2882027

Odpowiedz

15

używasz „Basic Authflow” od tożsamości Cognito, co oznacza, trzeba będzie uzyskać poświadczenia dla swoich użytkowników poprzez wywołanie „AssumeRoleWithWebIdentity” STS-tych. Oto dokumentacja pomóc: http://docs.aws.amazon.com/cognito/devguide/identity/concepts/authentication-flow/

Gdy masz poświadczeń, można instancję API bramy Klient:

var client = apigClientFactory.newClient({ 
    accessKey: ACCESS_KEY, 
    secretKey: SECRET_KEY, 
    sessionToken: SESSION_TOKEN }); 

Klucze i żetony pochodzą z wyniku „AssumeRoleWithWebIdentity” rozmowy.

Po skonfigurowaniu ról IAM i autoryzacji należy mieć dostęp do interfejsu API.

Oto dokumentacja opisująca sposób konfigurowania ról & pozwolenia: http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-method-settings.html#how-to-method-settings-callers-console

Również tutaj jest jak włączyć CORS - http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html

+0

powinienem użyć apigClientFactory w JS mojego interfejsu sieciowego? – user2882027

+0

Czego używałeś wcześniej? –

+0

jak spożywać chronione api bramy za pomocą żądania AJAX, jakie są niezbędne nagłówki? jak je wygenerować i ustawić? tutaj jest jeden post na blogu o tym, jak zadzwonić do chronionej bramy za pomocą ajax, na tym plakacie postu używa nagłówka x-api-key. To jest jak token JWT, jak mogę wygenerować APIKEY lub jak ustawić klucze i tokeny z AssumeRoleWithWebIdentity do zapytania ajax? http://dev.classmethod.jp/cloud/aws/call_amazon-api-gateway_from_browser/ – user2882027

Powiązane problemy