Android アプリを作成していますが、SSO を使用して、ユーザーが Google または Facebook アカウントを使用してアプリケーションに簡単にサインインできるようにしたいと考えています。アプリはデータをサーバーに保存するため、ユーザーはさまざまなデバイスからアクセスできます。サーバーでは、ユーザーの電子メールを使用してユーザーを識別することを計画しています。
クライアントでは、電子メールがユーザーのものであることはわかっていますが、サーバーは、別のユーザーのメールアドレスをサーバーに送信する攻撃者ではなく、実際のユーザーであることをどのように確認できますか?
アクセス トークンを取得して電子メールと共にサーバーに送信し、サーバーにこのトークンを使用して電子メールを検証させる必要がありますか、それとも他にできることはありますか?
ログイン用の電子メールにのみ関心があるため、メール アドレスを 1 回取得して、ユーザーがアプリからサインアウトするまでクライアントに記憶しておくと便利です。ただし、アクセストークンも保持する必要がある場合は、有効期限が切れているかどうかを定期的に確認し、必要に応じて更新する必要があります。