2

混乱しています。

モバイルアプリケーション用のJavaサーバーアプリケーションを作成する必要があります。そのアプリケーションには独自のユーザー管理があります。つまり、ユーザーはOAuthプロバイダーをまったく使用せずにサーバーに登録してログインできます。

ここで、ユーザーがOAuthプロバイダーを介して交互に登録できるようにしたいと思います。

これらは私が見るオプションです:

ユーザーにローカルのみを登録させます。

アドバンテージ:

  • モバイルアプリケーションは、ログインしてアプリケーションのアクセストークンを取得できるフレームワークを使用できます
  • すべてがプラットフォーム自体によって事前にスタイル設定されているため、その上でGUIは機能しません

不利益:

  • サーバーは、ユーザーがログインしているかどうかをどのように認識しますか?これを理解する1つの方法は、アクセストークンをサーバーに送信し、サーバーにプロバイダーへの要求を開始させて、トークンが有効かどうかを確認することです。
  • 登録のために、クライアントがプロバイダーから取得したすべてのユーザー情報をサーバーに送信する必要があります。

私はこのオプションが好きではありません。UserdataとAccesstokenを周りに送信するからです。はい、もちろんhttps経由で暗号化されますが、気分が悪いだけです。

ユーザーにサーバー経由で登録させます

ユーザーは、OAuthプロバイダー自体に、アクセストークンを要求できるコードを取得するように要求します。このコードをサーバーに送信し、サーバーにアクセストークンを取得させます。

アドバンテージ:

  • サーバーは、ユーザーがログインしていることを確認できます
  • サーバーは、アラウンドを送信せずに、ユーザーに関するすべてのユーザー固有の情報(ユーザー名など)をOAuthプロバイダー自体から取得できます。
  • ログイン時にこれを繰り返して、ユーザーが正しくログインしていることを確認できます

不利益:

  • OAuthコネクタを作成する必要があります(またはそのためのライブラリを使用します)
  • 実際のアクセストークンを返すだけなので、SDKを使用することはできません。

私たちはまだ最初のオプションを好みます(ローカルのみ登録)

  • 彼らはSDKを使いたいのです。「誰もがそれをするからです。」
  • ユーザーが初めてアプリケーションを起動し、すでにログインしている場合(つまり、FBクライアントを使用して)、スコープを受け入れるだけで、アプリケーション用にセットアップしました。
  • 実際のログインの処理が簡単になり、SDKが作成された場所に配置されます

誰かがそのようなことを正しく行う方法を知っていますか?どちらの解決策も私には少し間違っているようです。

4

0 に答える 0