3

アプリのユーザーにSSO(シングルサインオン)を使用したいのですが、自分のケースに適用する方法がわかりません。

要約すると、次のようになります。

  • データベース
  • ウェブサイト
  • iPhoneアプリ/Androidアプリ

現在、サイトでアカウントを作成し、同じクレデンシャルを使用してモバイルアプリから接続することができます。モバイルアプリとサーバー間のすべての通信は、httpリクエストを介して機能します。

簡単に言えば、私は最初に

  • Googleアカウントを使用してユーザーを認証できる
  • Androidユーザーにスマートフォンに関連付けられたGoogleアカウントの1つを選択するように提供する

私はいくつかの情報源を見つけました:

いくつかの例で見たものとは異なり、GoogleカレンダーやタスクなどのGoogleサービスにリクエストを送信する必要はなく、ユーザーを認証するだけです。

誰かが私がウェブサイトとモバイルアプリで何をする必要があるか教えてくれますか?データベースに情報を保存する必要がありますか?認証後、モバイルアプリケーションからのすべてのhttpリクエストが実際に認証されたユーザーからのものであることを確認するにはどうすればよいですか?

いくつかの点を明確にするために私に尋ねることを躊躇しないでください。

前もって感謝します

4

1 に答える 1

4

OAuthは認証の標準であり、認証標準ではないため、このための直接的な方法はサポートされていません。ただし、ほとんどのプロバイダーでは、ログインしたユーザーのIDを返すエンドポイントを呼び出すことができます。Googleは、基本的なプロファイル情報の一部としてIDを返します。このステップは、すでに述べた最初の記事で説明されています。このステップを簡素化するために利用できる複数のライブラリがあります。

したがって、ユーザーを識別するために、そのユーザーのGoogleユーザーIDを取得し、それをデータベースに保存/照合します。

AndroidデバイスでユーザーのIDを取得するには、さらに簡単な方法があります。ドキュメントに記載されているように、GooglePlayサービスを使用するだけです。ユーザーIDは、ドキュメントの最後のセクションにある呼び出しへの応答で確認できます。

これでも、デバイスからWebサーバーにユーザーIDを送信し、この呼び出しがアプリによって発行されたことを確認する必要があるという問題があります。幸いなことに、GoogleはまさにこのシナリオのためにGooglePlayサービスにメソッドを組み込んでいます。これについては、 AndroidDevelopersBlogにTimBrayによるブログ投稿があります。

于 2013-01-08T19:21:38.163 に答える