1

Android アプリを作成していますが、SSO を使用して、ユーザーが Google または Facebook アカウントを使用してアプリケーションに簡単にサインインできるようにしたいと考えています。アプリはデータをサーバーに保存するため、ユーザーはさまざまなデバイスからアクセスできます。サーバーでは、ユーザーの電子メールを使用してユーザーを識別することを計画しています。

クライアントでは、電子メールがユーザーのものであることはわかっていますが、サーバーは、別のユーザーのメールアドレスをサーバーに送信する攻撃者ではなく、実際のユーザーであることをどのように確認できますか?

アクセス トークンを取得して電子メールと共にサーバーに送信し、サーバーにこのトークンを使用して電子メールを検証させる必要がありますか、それとも他にできることはありますか?

ログイン用の電子メールにのみ関心があるため、メール アドレスを 1 回取得して、ユーザーがアプリからサインアウトするまでクライアントに記憶しておくと便利です。ただし、アクセストークンも保持する必要がある場合は、有効期限が切れているかどうかを定期的に確認し、必要に応じて更新する必要があります。

4

1 に答える 1

0

さらに調査して考えた結果、アクセストークンをサーバーに(https経由で)送信し、サーバーにそれを使用してFacebook/Googleからユーザーのメールアドレスを取得させることにしました。

これは、このシナリオを処理するためのかなり標準的な方法のようです。これを行う場合、いくつかのシナリオを見落とし、ギャップのあるセキュリティホールを残すための独自のソリューションを考え出す必要はありません。

于 2012-12-21T06:24:55.837 に答える