私は、人々が自分自身を識別する必要がある Android アプリを書いています。事実上すべての人が別の場所で主要なサービス (Google、Twitter、Facebook、Yahoo! など) のアカウントを持っているため、サーバーに登録しないことが最善の方法であると判断しました。
REST API は CakePHP を中心に構築されています。これ自体は私が必要としている問題ではありませんが、問題は Android アプリと API との通信にあります。基本的に私が見たいのは、すでにアクセスしているサービスにログインできるX台のデバイスを持つユーザーです。
この ID は、サーバーによってそのユーザーの ID として認識されます。私のアプリは、API に「私はサービス example.com の John Doe です。ここに証拠があります」と伝える方法が必要になります。また、サーバーは同じ ID の新しいデバイスを受け入れ、それをそのユーザーに関連付けます。
ここでいくつかの問題で立ち往生しています:
- OpenID が進むべき道のようです (ただし、Twitter が OpenID をサポートしているかどうかはわかりません)。しかし、どうすれば自分のデバイスから OpenID を実行できますか? OpenID for Java を教えてくれる人は必要ありません。これは、私が探している答えの 100% ではありません。Web サイトはどこにリダイレクトされますか?
- Web サーバーと Android アプリの間の認証ピースはどのようになりますか? ログインしていません。OpenID を使用しています。OpenID 情報の一部またはすべてを取得し、それを Web サーバーに渡して保存し、再度渡してすべての API 呼び出しに対してチェックする必要がありますか?