0

ユーザーが Google、Facebook、または独自のサーバーを使用して登録およびログインできるゲームなどのモバイル アプリケーションがあります。サード パーティ プロバイダーを使用してログインすると、ゲームの進行状況などのユーザー情報をサーバーに保存できるようになるため、サード パーティのアカウントをユーザー プロファイル データベースに関連付けることができます。人々は通常どのようにこれを行いますか?

メインの ID プロバイダーとして Identity Server を使用しています。ASP.NET ID を使用してユーザーを管理します。リソース所有者の許可を使用して、Identity Server から認証トークンを取得する Android アプリケーションがあります。新しいユーザーは、ID サーバーがホストされているサイトにアクセスして、新しいアカウントを登録できます。

Android アプリケーション内に Google または Facebook 経由でログインするためのボタンを追加したいと考えています。ユーザーが Google または Facebook 経由でログインすると、ユーザー情報が取得され、サードパーティ プロバイダーからのユーザー情報に基づいてフィールドが自動的に入力された Android アプリ内の登録フォームが表示されます。その後、ユーザーはその詳細を使用して登録し、Google または Facebook アカウントである識別子を使用してユーザーを Identity Server に保存できます。asp.net ID サイトと同じように、モバイル向けです。

4

2 に答える 2

1

リソース所有者の付与は、ここで行き止まりです。ブラウザを使用してログオン ワークフローに切り替える必要があります。これにより、「無料」の外部ログインが提供されます。

https://vimeo.com/171942749

これは、セキュリティ上の理由からも推奨されます。プレゼンテーションからリンクしている仕様を参照してください。

于 2016-09-14T06:47:52.377 に答える
0

Facebook、Google などのサードパーティの ID サーバーを使用してユーザーがログインできるようにするボタンを用意できると思います。私が疑問に思っている唯一のことは、それらのユーザー名とパスワードを使用して登録できるかどうかわからないということです.

考えられる流れは次のとおりです。

  • Facebook、Google などでログインするオプションをユーザーに提供します。
  • ユーザーは、これらのサード パーティ サービスのログイン ページにリダイレクトされます。
  • ユーザーがログインすると、Facebook からユーザーのクレームを持つトークンを受け取ります。次に、クレームの変換を行い、トークンをユーザーに割り当てることができます。
  • 同じトークンを使用して、ユーザーに関連するデータをデータベースに保存できます。
  • したがって、データベースには 2 つのトークンがあり、1 つは Facebook からのもので、もう 1 つは独自のアプリ用のものです。
  • 私たちが提供できる唯一のオプションは、Facebook を使用してログインすることです。ただし、Identity サーバーが提供する情報を維持することで、バックエンドでユーザーを直接登録できるため、ユーザーは自分で登録する必要がありません。
于 2016-09-13T18:42:48.000 に答える