2016-08-16 31 views
0

現在AWS SNSを使ってAWS iOS SDKを使ってAWS SNSを統合しようとしています。AWS SDKを使用してAWSコンソールにサインインするiOS

このガイドでは、Amazon Cognitoを認証に使用する必要があることが示され、AWS SNSで作成されたアプリケーションにデバイストークンを登録できます。私は、次のよ

ガイド - https://medium.com/aws-activate-startup-blog/a-guide-to-amazon-simple-notification-service-mobile-push-self-registration-for-ios-a2502e8d5fbd#.mt7t7ed89

私のプロジェクトでこれを統合した後 - 私はこのエラーを取得する:

Error 
Domain=com.amazonaws.AWSSNSErrorDomain 
Code=1 "The operation couldn’t be completed. (com.amazonaws.AWSSNSErrorDomain error 1.)" 
UserInfo=0x12847e0 
{ 
    Type=Sender, 
    Message=User: arn:aws:sts::xxxxxxxxx:assumed-role/xxxxxxxxxxxxxxx/CognitoIdentityCredentials is not authorized to perform: SNS:CreatePlatformEndpoint on resource: arn:aws:sns:ap-south-1:xxxxxxxxx:app/xxxxxxxxxxxxxxxxxxxx, 
    __text=(
    "\n ", 
    "\n ", 
    "\n ", 
    "\n " 
    ), 
Code=AuthorizationError} 

だから進めるために私を助けてください。

iOSで認証フローにAWS APIを統合する手順を教えてください。

ありがとうございました。

+1

あなたは 'AWS' ACCESS_KEY&SECRET_KEYを生成し、' AmazonSNSClient'を初期化することがありますか?また、 'endPoint'を設定して、アプリケーションから' ENDPOINT'を設定する必要がありますか? – CodeChanger

+0

ありがとうございます。はい。エンドポイントはAPIにアクセスしたときに設定されていました。 (地域に不一致があったため、エンドポイントを作成できませんでした) – bindu

答えて

0

ご迷惑をおかけして申し訳ありません。
指定したリソースのAuthロールとUnauthロールの両方のポリシーに、CreatePlatformEndpointを追加したかどうかを確認します。それはのようになるはずです

...

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "sns:CreatePlatformEndpoint" 
      ], 
      "Resource": [ 
       "arn:aws:sns:ap-south-1:xxxxxxxxx:app/xxxxxxxxxxxxxxxxxxxx" 
      ] 
     } 
    ] 
} 
+0

迅速な対応をありがとうございます。私はAWSServiceConfigurationで実際の領域について言及していなかったので、今はendPointを作成できませんでした。 – bindu

関連する問題