2017-03-03 7 views
1

私のユーザープールがAPI内のメソッドを認証しない理由を理解できません。APIゲートウェイ付きのCognitoユーザープール

私は簡単なpetstoreの例を使い始め、私のユーザープールにAuthorizerを追加しました。テストボタンは、私が持っているJWTが動作していることを示しています。私はそのAuthorizerを/petsのPOSTメソッドに適用し、Authorizationをリクエストヘッダーとして追加しました。

Authorization: Bearer <token>ヘッダを渡す配達員(またはカール)と/petsへのPOSTは、私はいつも、私はその認証ロールで、ユーザープールにリンクされているアイデンティティ・プールを作成して周り混乱しまし応答{"message":"Unauthorized"}

を取得APIゲートウェイへのアクセスを許可するポリシーがあります。私はこのグループを割り当てるためにユーザープールにグループを作成しました。

私には欠けている部分があるはずです。 Cognitoから有効なID JWTを提示するすべてのユーザーにPOSTメソッドへのアクセスを許可したいだけです。

ポリシー:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "execute-api:Invoke" 
      ], 
      "Resource": "arn:aws:execute-api:us-east-1:*:XXX/*/POST/*" 
     } 
    ] 
} 

シミュレータで正常に動作します。私は100%政策がプレー中であってはならないと確信しているわけではない。提供されたユーザープール認証者がポリシーを取得する方法についてはっきりしていませんが、それは私が見たドキュメントにはありませんでした。私はちょうど壁にダーツを投げ始めました。

誰かがUserpoolでAPIゲートウェイのエンドポイントを確保したことを聞きたいのですが。

+0

APIゲートウェイへのアクセスを許可するポリシーを投稿できますか? apacheway:*(API管理API用)ではなくexecute-api:Invokeでなければならないことに注意してください。 –

答えて

2

私の場合は、Postmanを使用してAuthorizationのヘッダに「ベアラ」がなくても動作します。

+0

これで十分に投票できません。でもそれはカールと同じです。だから、郵便配達員の責任ではありません。 "^ Bearer \ s"は必要とされています。しかし、私の経験では、Authorization:ヘッダーはId JWTのみであることが示されています –

関連する問題