11

ユーザー/パスワードおよびトークン認証による従来のサインアップ/サインインをサポートするモバイル アプリケーション用の Web REST API があります。

サインアップには電子メールの確認がないため、安全なサインアップ/サインイン/Facebook サービスへの接続を実装するにはどうすればよいですか?

私の最初のアプローチ: モバイルアプリケーションから取得しますfacebook_id, facebook_email, facebook_name:

  • Facebookでユーザーを検索し、存在する場合はそのユーザーを完全に返し、そうでない場合はこれらのパラメータで新しいユーザーを作成します

  • 問題:facebook_id他のアプリケーションで簡単に見つけることができると思います..だから、私が他の誰かであり、彼のfacebook_idでログインすると仮定しても、私を止めるものは何もありません

  • 考えられる解決策:access_tokenモバイル アプリケーションからも を取得し、サーバー側でaccess_tokenfacebook_email受信した

別の問題として次のことが考えられます。

  • personB@fake.com人物 A がメールで従来のアカウントを作成している
  • 人 B は 1 週間後、自分の Facebook アカウントを (同じpersonB@fake.comメールで) 接続します。最初のアイデアは、従来のアカウントをこの facebook アカウントにリンクすることです。しかしその後、人物 B が人物 A のアカウントを引き継ぐことになります。

オプション:また、モバイル アプリケーションでのトークンの有効期限のベスト プラクティスは何でしょうか。私は約2時間読んだことがありますが、まだfacebookアプリケーションは半年後もログに記録されていると思います.

セキュリティを確保するために、Web サービスのクライアント側から重要なもの (access_token、電子メールなど) を取得できると仮定しましょう: この場合に最高のセキュリティを確保できるベスト プラクティスは何ですかclient-side:ログインとサインアップのためのサービス? とにかく、簡単なガイドライン/段階的な流れが完璧です。

4

1 に答える 1

1

Facebook 開発者ログインのドキュメントを確認しましたか? ログイン フローと、ユーザー トークンとアプリ トークンの生成について説明します (JavaScript 用 FB SDK ( FB.GetAuthResponse) を呼び出します。この場合、AuthResponseには、アプリの ID をマップできるuserID パラメーターが含まれます)。トークンの有効期限も FB SDK によって処理されます。Android のログイン フローはかなり単純に見えますが、iOS のログイン フローはさらに単純に見えます。

于 2013-06-04T17:33:57.630 に答える