ユーザー/パスワードおよびトークン認証による従来のサインアップ/サインインをサポートするモバイル アプリケーション用の Web REST API があります。
サインアップには電子メールの確認がないため、安全なサインアップ/サインイン/Facebook サービスへの接続を実装するにはどうすればよいですか?
私の最初のアプローチ: モバイルアプリケーションから取得しますfacebook_id
, facebook_email
, facebook_name
:
Facebookでユーザーを検索し、存在する場合はそのユーザーを完全に返し、そうでない場合はこれらのパラメータで新しいユーザーを作成します
問題:
facebook_id
他のアプリケーションで簡単に見つけることができると思います..だから、私が他の誰かであり、彼のfacebook_idでログインすると仮定しても、私を止めるものは何もありません考えられる解決策:
access_token
モバイル アプリケーションからも を取得し、サーバー側でaccess_token
、facebook_email
受信した
別の問題として次のことが考えられます。
personB@fake.com
人物 A がメールで従来のアカウントを作成している- 人 B は 1 週間後、自分の Facebook アカウントを (同じ
personB@fake.com
メールで) 接続します。最初のアイデアは、従来のアカウントをこの facebook アカウントにリンクすることです。しかしその後、人物 B が人物 A のアカウントを引き継ぐことになります。
オプション:また、モバイル アプリケーションでのトークンの有効期限のベスト プラクティスは何でしょうか。私は約2時間読んだことがありますが、まだfacebook
アプリケーションは半年後もログに記録されていると思います.
セキュリティを確保するために、Web サービスのクライアント側から重要なもの (access_token、電子メールなど) を取得できると仮定しましょう: この場合に最高のセキュリティを確保できるベスト プラクティスは何ですかclient-side
:ログインとサインアップのためのサービス? とにかく、簡単なガイドライン/段階的な流れが完璧です。