1

次の場合、defaultServiceConfiguration をどのように構成すればよいですか?

  • カスタム ID プロバイダーを使用して、Cognito 経由で登録ユーザーを認証しています。(ユーザーがユーザー/パスワードで当社のサービスに登録されるまで、それが誰であるかは気にしません)
  • Mobile Analytics を使用して、アプリ内でいつでもイベントを追跡したいと考えています。(未登録の方でも可)

現在、認証のコードは次のようになり、登録ユーザー向けに予約されている機能が使用されている場合にのみ、遅延して実行されます。

CustomIdentityProvider *customIdentityProvider = [[CustomIdentityProvider alloc] initWithIdProvider:idProvider
                                                                                          accountId:_accountId
                                                                                     identityPoolId:_identityPoolId
                                                                                            idToken:idToken];
customIdentityProvider.logins = @{idProvider.name:idToken};

AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1
                                                                                              identityProvider:customIdentityProvider
                                                                                                 unauthRoleArn:nil
                                                                                                   authRoleArn:nil];
AWSServiceConfiguration *configuration = [AWSServiceConfiguration configurationWithRegion:AWSRegionUSEast1
                                                                      credentialsProvider:credentialsProvider];

[AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration;

AWSTask * getIdentityIdTask = [credentialsProvider getIdentityId];

アプリでいつでも Mobile Analytics を使用するには、起動時に defaultServiceConfiguration を設定する必要がありますか? しかし、その場合、私はまだログインを持っていません。ログインせずにユーザーを認証するにはどうすればよいですか?

ありがとう。

4

1 に答える 1

1

Cognito には、認証された ID と認証されていない ID の概念があり、ログインを提供した場合は認証され、提供していない場合は認証されません。これら 2 種類のユーザーのアクセス権は、そのプールに設定したロールによって定義されます。

どちらの場合でも Mobile Analytics を使用できるようにしたいようですが、これは、プールに対して持っている両方のロールでアクセスが許可されていることを確認する必要があることを意味します。デフォルトの Cognito ポリシーは、Mobile Analytics の Put Events 権限を付与します。生成されたロールを変更した場合は、それらがそこにあることを確認する価値があります。

そのことを念頭に置いて、すべてのユーザーが Mobile Analytics にアクセスするために必ずしもログインが必要というわけではありません。認証済み ID に付与する追加の権限については、必要に応じてコードの後半でログインを更新できます。

それはあなたの質問に答えていますか?

于 2015-11-19T07:26:55.780 に答える