問題タブ [aws-sdk-ios]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
866 参照

ios - API Gateway によって生成された iOS (Objective-C) 用の SDK と、承認されたユーザー用の Cognito ユーザー プール

AWS API Gateway を使用して API をデプロイしましたが、iOS デバイスからアクセスしようとしています。一部のエンドポイントは無許可のユーザーをサポートしており、アクセスに問題はありませんが、他のエンドポイントはサポートしておらず、クエリを実行できません。Web アプリケーション (または郵便配達員) を使用する場合に正常に動作する認証用の新しい Cognito ユーザー プール機能を使用します。

まず、一部のエンドポイントは保護されていますが (コンソールの次の図のように)、API をデプロイして iOS (Objective-C) 用の SDK を生成すると、README ファイルを読み取ることができます。承認は必要ありません。」

ここに画像の説明を入力

次に、AWS のドキュメントから次の認証コードを実行すると、すべて問題なく動作するように見えます。

この投稿で指定されているように CognitoPoolIdentityProvider を実装しました。

適切なトークン (postman を使用してテスト済み) とユーザー ID を取得できました。

2016-12-27 12:43:35.760 AskHub[26625:10037234] AWSiOSSDK v2.4.11 [デバッグ] AWSURLResponseSerialization.m 行:63 | -[AWSJSONResponseSerializer responseObjectForResponse:originalRequest:currentRequest:data:error:] | 応答本文: {"IdentityId":"eu-west-1:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"} 2016-12-27 12:43:35.766 AskHub[26625:10037234] ID id: eu-west-1 :XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

ただし、次のコードを実行して保護されたエンドポイントをヒットすると、CloudFront は認証されていないと見なします。

応答:

2016-12-27 12:56:25.247 AskHub[26784:10046562] 最初のリクエストを送信できませんでした: エラー Domain=com.amazonaws.AWSAPIGatewayErrorDomain Code=1 "(null)" UserInfo={HTTPBody={ message = Unauthorized; }, HTTPHeaderFields={type = immutable dict, count = 9, entries => 3: Via = {contents = "XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.cloudfront.net (CloudFront)"} 4: x-amzn-ErrorType = {contents = "UnauthorizedException" 5 : Content-Type = {contents = "application/json"} 6 : Content-Length = {contents = "27"} 7 : Connection = {contents = "keep-alive"} 8 : x-amzn-RequestId = {contents = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"} 9 : Date = {contents = "Tue, 27 Dec 2016 11:56:25 GMT"} 10 : X-Cache = {contents = "

ここで何か不足していますか?自動生成された SDK はユーザー プール認証をサポートしていますか?

0 投票する
0 に答える
237 参照

ios - 開発者 ID で AWS Cognito と aws-ios-sdk v.2.4.16 を使用する

すべての認証を行うために、関数のラムダ グループをセットアップしました。アプリから API ゲートウェイ経由で接続し、最後に GetOpenIdTokenForDeveloperIdentity() を呼び出します。これにより、ゲートウェイを介してデバイスに identityId とトークンが返されます。

次に、このサイトの指示に従います (Objective-C 用): http://docs.aws.amazon.com/cognito/latest/developerguide/developer-authenticated-identities.html

私はidentityIdとトークンを持っているので、これから始めました:

DeveloperProvider.h

DeveloperProvider.m

上記から2つのエラーが発生します。

  1. .h ファイルで、「AWSCognitoCredentialsProviderHelper のインターフェイスが見つかりません」というメッセージが表示される
  2. .mファイルで、「identityIdは読み取り専用プロパティself.identityIdへの割り当てです」を取得します

CocoaPods を再インストールし、aws-ios-sdk を再インストールしました。古いファイルと派生データもすべて消去しました。

何か不足していますか?最終的な目標は、ユーザーが認証されているため、ゲートウェイとラムダを使用せずに、アプリから直接 dynamodb と s3 を呼び出すためのアクセス権を持つ認証済みユーザーを持つことができるようにすることです。ありがとう。

0 投票する
1 に答える
253 参照

ios - 配列を使用して AWS Dynamo Db データベースにクエリを実行する

AWS Dynamo Db を使用してアプリを構築しようとしています。データベースをクエリまたはスキャンしたかったのですが、1 つのパラメーターだけを使用してデータベースをスキャンすることはできますが、配列を使用してデータベースをクエリすることはできません。

たとえばuser details、データベースに主キーを持つテーブルがありますUserIDUserID配列に格納されたいくつかの行を取得したい。

これは私が使用しようとしたコードですが、うまくいきません。誰かが私を助けてくれますか?ありがとう。

0 投票する
1 に答える
852 参照

ios - iOS の独自の mqtt サーバーに aws ios iot sdk を使用する

ssl 構成で AWS iOS IoT SDK を使用しました。https://github.com/awslabs/aws-sdk-ios-samples/tree/master/IoT-Sample/Swiftを参考にしました。ここで、サーバーエンドポイントは次の形式になります

https://xxxxxxxxxx.iot ..amazonaws.com

pkcs12 ファイルをバンドルにインポートし、サーバーに接続、公開、サブスクライブできるようにしました。

その後、そのために組織内にローカル ネットワーク ソリューションを用意することを考えました。サーバー https://www.rabbitmq.com/ssl.html#keys-and-certs の MQTT ブローカー用に rabbitmq をセットアップしました。現在、ec2 インスタンスを使用して試しています。後者はローカル サーバーをセットアップします。そしてエンドポイントは

ssl://ec2-..compute.amazonaws.com:8883

現在、aws iot ios sdk を使用して rabbitmq サーバーに接続できません。

しかし、 https://github.com/emqtt/CocoaMQTTサンプルを使用すると、aws iot サーバー エンドポイント、rabbitmq サーバー エンドポイントの両方に接続できます。

aws iot ios sdk https://github.com/aws/aws-sdk-ios/tree/master/AWSIoTを使用して rabbitmq サーバー エンドポイントに接続するには、どうすればよいですか。SDK でどのような編集を行う必要がありますか?

以下は、aws iot ios sdk を使用して rabbitmq サーバーに接続しようとしたときのログです。