私たちはWebアプリケーションを構築していますが、今はユーザーを追跡する方法を決定する段階にあります。私たちのデフォルトオプションは、頭痛(ユーザ名の一意性、登録プロセスなど)が多い独自のユーザ登録システムを維持することです。FacebookのユーザーIDを永続的なユーザーIDにします
これに代わる方法として、Facebookのメールアドレスとパスワードを使用してGoogleのシステムにログインするという意味で、ユーザーのFacebook IDを使用することができます。その後、バックエンドはユーザーのFacebook ID(Graph id)を取得し、DBに格納します。ユーザーがアプリケーションに変更/アップロードするデータは、このIDにリンクされます。
質問は、IDを永続的な識別子として信頼し、その周りに複雑なバックエンドを構築できるかどうかです。 Facebookが誰かのIDを変更しないようにするにはどうすればいいですか?
Azure Access Controlのような他のID管理システムは、このIDに依存していますか?
「代理プライマリキーを使用してUsersテーブルを作成する」と言ったことは、あまり得意ではありませんでした。たとえば、Userテーブルでプライマリキーは生成されたGUIDに渡されますユーザーはFacebookのアカウントで何か問題が発生した場合にユーザーを特定できますか?彼がGUIDを忘れた場合はどうなりますか? (入力しなかったために電子メールを送信することはできません。実際には通常のユーザー管理システムですが、ユーザー名の代わりにGUIDが生成されます。 –
これは良い点です。 私は、あるユーザのfacebook idがfacebook自体の外に理由で変わるかもしれない例を挙げようとしていましたが、あなたのFacebookアカウントへのアクセスが失われてしまったという仮説的な状況をサポートしています。 。 – tuxedo25
注:Facebook経由でユーザーが認証されると、そのユーザーに電子メールの許可を要求できます。もちろん、Facebookの統合に加えて、通常のユーザー名とパスワードを設定することもできます。 – tuxedo25