2015-09-18 16 views
11

Tôi đang phát triển ứng dụng web dựa trên Amazon API Gateway. Bây giờ tôi đã tạo đăng nhập Facebook và đăng nhập thành công vào trang web. nhưng khi tôi gọi một API khác, mọi thứ đã biến mất. Tôi nghĩ tôi nên chuyển mã thông báo Cognito khi gọi API mọi lúc. tôi có đúng khôngCách chuyển mã thông báo Cognito vào Cổng API của Amazon?

nếu có, cách chuyển mã thông báo Cognito cho API? như tiêu đề? hay cách khác?

Cảm ơn,

+0

Ý anh là gì bởi tất cả mọi thứ đã biến mất? Bạn cần thông tin gì về người gọi bên trong API API Gateway? –

+0

Bạn có thể cung cấp một số mã mẫu và thông báo lỗi mà bạn đang nhận được không? –

+0

@ScottWilleke trang đăng nhập của tôi gọi/doLogin API, sau đó tôi nhận mã thông báo và ID từ Cognito. Sau đó tôi đi đến trang bị hạn chế như hồ sơ, nó gọi/showProfile API. Ngay bây giờ/showProfile không biết tôi đã đăng nhập hay chưa. Vì vậy, cho tôi lỗi "Thiếu mã xác thực". Tôi nghĩ rằng tôi nên gửi mã thông báo và ID của mình cho mọi cuộc gọi API Gateway, nhưng cách gửi chúng? tiêu đề như "Amazon-Cognito-Token"? hay cách khác? – user2882027

Trả lời

15

Bạn đang sử dụng "cơ bản Authflow" từ danh cognito, có nghĩa là bạn sẽ cần phải nhận được thông tin cho người dùng của bạn bằng cách gọi "AssumeRoleWithWebIdentity" STS của. Dưới đây là một số tài liệu để giúp: http://docs.aws.amazon.com/cognito/devguide/identity/concepts/authentication-flow/

Một khi bạn đã thông tin, bạn có thể nhanh chóng Gateway Client API:

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

Các phím và thẻ đến từ kết quả của "AssumeRoleWithWebIdentity" gọi.

Nếu bạn đã định cấu hình vai trò IAM của mình và Ủy quyền chính xác, bạn sẽ có thể truy cập API của mình.

Dưới đây là tài liệu mô tả làm thế nào để cấu hình các vai trò & ủy quyền: http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-method-settings.html#how-to-method-settings-callers-console

Ngoài ra, ở đây là làm thế nào để kích hoạt tính năng CORS - http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html

+0

Tôi có nên sử dụng apigClientFactory trong JS của giao diện web của mình không? – user2882027

+0

Bạn đã sử dụng cái gì trước đây? –

+0

cách sử dụng api cổng được bảo vệ bằng cách sử dụng yêu cầu AJAX, tiêu đề cần thiết là gì? làm thế nào để tạo ra và thiết lập chúng? đây là bài đăng blog về cách gọi cổng được bảo vệ bằng ajax, trên post post đó đang sử dụng tiêu đề x-api-key. Nó giống như mã thông báo JWT, làm cách nào tôi có thể tạo APIKEY hoặc cách đặt khóa và mã thông báo từ AssumeRoleWithWebIdentity thành yêu cầu ajax? http://dev.classmethod.jp/cloud/aws/call_amazon-api-gateway_from_browser/ – user2882027

Các vấn đề liên quan