2017-06-25 2 views
0

私は、JWTで認証されたEC2にデプロイされたバックエンドのスプリングブートREST APIを作成しました。すべてが正常に動作します私のRESTリソースAPIゲートウェイを使用してセキュリティで保護されたバックエンドAPIにアクセスするには?

curl -H "Authorization: eyJhbGzd9.NYHXPv-vXUIoNr7qtA" http://123.45.6782.910:8080/categories/pets/ 

これにアクセスするためのREST呼び出しを行うその後

curl -iH "Content-Type: application/json" -X POST -d '{"username":"myusername", "password":"mypassword"}' http://123.45.6782.910:8080/login 

:ベアラトークンを取得するので、私が最初にカール。

ここでは、APIゲートウェイを使用して/categories/pets/リソースにアクセスしたいと考えています。

私は、GET - メソッド実行のメソッド要求、統合要求セクションを設定しました。私は設定をテストしようとする。しかし、私は私が直接無記名トークンなしでバックエンドAPIにアクセスしようとしていますので、これが期待されていると思います403

{ 
    "timestamp": 1498392625274, 
    "status": 403, 
    "error": "Forbidden", 
    "message": "Access Denied", 
    "path": "/categories/pets/" 
} 

を取得します。ベアラトークンを取得するためにhttp://123.45.6782.910:8080/loginのPOSTをどのようにしてから/categories/pets/に電話をかけることができますか?

UPDATE:@KaHouIeongの提案によると、私はベアラトークンを取得するためにAPIゲートウェイにPOSTエンドポイント/ログインを作成しました。テストはAPIゲートウェイのテストコンソールにありますが、私はAuthorization →Bearer eyJhbGzd9郵便配達員から試してみると、ステータス200はOKですが、Authorization →Bearer eyJhbGzd9トークンは取得していません。

content-length →0 
content-type →application/json 
status →200 
via →1.1 swfbfbbaf3fb6c32bdccb152354539e473d.cloudfront.net (CloudFront) 
x-amz-cf-id →K9V3XUxHOretrza0kCM5dk_G5eZgePrtrBziyVTxptrePD7wjsWqk-l0kCQQ== 
x-amzn-requestid →5ac81024-5c27-11e7-af9a-9f3c8494c542 
x-amzn-trace-id →Root=1-5953e77f-ed76d15b5bfre9374c9 
+0

あなたが認証ベアラトークンを使用する場合は、ヘッダーが正しくないと思われる、これを試してみてください。 '-H「認可:ベアラeyJhbGzd9.NYHXPv-vXUIoNr7qtA」' – chenrui

+0

はありません、それはここでの問題はありません。あなたは必ずしもベアラキーワードを必要としません。それなしで私のために働いている。 – tintin

+0

一見するためのサーバーログはありますか? – chenrui

答えて

2

あなたのクライアントはあなたの/categories/pets/ APIにアクセスするために再度使用トークン、/loginに要求を送信し、応答からベアラトークンを取得する必要があります。 ワークフローは、EC2バックエンドに直接当たるのと同じにする必要があります。 API GatewayのあなたのAPIのセットアップについては

、あなたはその後、セットアップにhttp://123.45.6782.910:8080/login

から/loginリソースとポイントを必要とする、あなたは、バックメソッドの応答にAuthorizationヘッダをマッピングするためのセットアップに統合レスポンスヘッダマッピングを必要としますAPIゲートウェイはヘッダーをクライアントに渡します。

integration.response.header.Authorization -> method.response.header.Authorization 
関連する問題