2016-03-22 6 views
0

私は現在、そのユーザーのFacebookIDを保存してユーザーを一意に識別しています。私は最近読んだことがあり、これは間違った使い方であり、何かの理由でFacebookのIDが変わる可能性があることがわかりました。これは本当ですか?そうであれば、新しいfacebookユーザーがサインインし、ユーザーを一意に識別する実行可能な方法を認証したときに導出されるAWS Cognito IDですか?もしそうでなければ、どうすれば私のデータベースに保存する一意の識別子を持つ、保存するのに十分安定した変数がないのに、Facebookのアカウントを一意にリンクしますか?私のiPhoneアプリケーション用のFacebook IDまたはCognito IDまたはAlternative

答えて

1

(公式ドキュメントから:https://developers.facebook.com/docs/apps/upgrading):次の文をチェックしてください

どんなに彼らはもともとあなたのアプリケーションにサインアップするために使用どのバージョン、IDが既ににログインしている人々のために変わらないだろうあなたのアプリ。この変更は、過去の任意の時点であなたのアプリにログインしているすべての人に下位互換性があります。

したがって、Facebook IDを使用してユーザーを一意に識別することができます。

ただし、ユースケースとセキュリティ管理の方法によっては、さらにいくつか考慮する必要があります。 AWS Cognito IDの目的はユーザー間で伝達されるものではなく、アプリとCognitoの間で維持されます。したがって、ユーザーが自分のアカウント(たとえば、テキストメッセージを送信する)を使用して通信するようにするには、Facebook IDがより適しています。それにもかかわらず、DynamoDBを使用してきめ細かなアクセス制御を実現しようとすると、this problemが発生します。

+0

あなたはユーザーを一意に識別する手段としてFacebook IDを使用できると言っていますか? – user2977578

+0

@ user2977578あなたは誤解していますが、FacebookのIDは1人のユーザーでアプリごとに異なりますが、1つのアプリ内では常に同じです。ハティム氏は、FacebookのIDを使用してユーザーを特定できることを確信しています。 –

0

ハティム氏によると、Cognito IDはユーザー間で共有されることはありません。つまり、一度アイデンティティIDに関連付けられたログインがあると、別の認証済みIDとのマージ時にのみ変更できます。それがあなたのようには聞こえないようなことをしない限り、それはあなたのユーザーを特定する安定した方法でしょう。公開されていない限り、あなたのデータベースのIDとしてID IDを使用することができます。

this blog postのようにDynamoDBを使用している場合は、この方法を使用すると、このデータへのアクセスをより安全にするようにIAMロールを設定できます。

関連する問題