2016-09-13 10 views
0

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

私はアイデンティティ・サーバーを私の主要なアイデンティティ・プロバイダとして使用しています。 ASP.NET IDを使用してユーザーを管理します。私は、リソース所有者の認可を使用してIdentity Serverから認可トークンを取得するアンドロイドアプリケーションを持っています。新しいユーザーは、IDサーバーがホストされているサイトに移動して新しいアカウントを登録できます。

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

答えて

0

Facebook、Googleなどの第三者のアイデンティティサーバーを使用してユーザーがログインできるようにするボタンがあると思います。私が迷っているのは、ユーザー名とパスワードを使用して登録できるかどうかわかりません。

あなたが考えることができるフローは次のとおりです。

  • ユーザーはFacebookのようにログインのオプションを付けて、グーグルなど
  • ユーザーは、これらのサードパーティのサービスのログインページにリダイレクトされます。
  • ログインすると、Facebookのトークンがユーザーのクレームを持つようになり、クレーム変換を行ってユーザーにトークンを割り当てることができます。
  • 同じトークンを使用すると、データベースに格納されたデータをユーザーに関連付けることができます。
  • あなたのデータベースには2つのトークンがあります.1つはFacebookから、もう1つは自分のアプリにつきます。
  • 私たちが与えることができる唯一のオプションは、Facebookを使用したログインです。しかし、アイデンティティ・サーバーが提供する情報を維持することで、バックエンドにユーザーを直接登録することができます。そのため、ユーザーは自分で登録する必要はありません。
1

リソースオーナーの授与はここでは終わりです。ブラウザを使用してログオンワークフローに切り替える必要があります。これはあなたに "無料"の外部ログインを提供します。

https://vimeo.com/171942749

これは、セキュリティ上の理由のために奨励されて - 私は、プレゼンテーションからリンク仕様を参照してください。

+0

私は信頼できるアプリケーションを使用しており、独自のパーソナライズされたログインネイティブUIでアプリケーションをエミュレートしたいと考えています。 Webビューは私の最後の手段になります。 –

関連する問題