0

REST サービスでユーザーを認証する方法に頭を悩ませています。Googleサインインを使用する予定です(つまり、Androidで)。サーバーでユーザーを認証する方法がよくわかりません。(ユーザーの ID を検証する以外に) 承認は必要ありません。要求を受け取ったときに、ユーザーが本人であることを検証したいだけです。

私の理解では、ユーザーはログインし、Google からある種のトークンを取得し、そのトークンをリクエストに沿ってサーバーに送信し、それを使用して身元を検証します。ただし、私が読んだところによると、ユーザーはリクエストを JWT (json Web トークン) にエンコードします。これを使用して、Google サーバーと直接やり取りすることなく ID を検証します。ちゃんと理解できましたか?

Googleのドキュメントでは、それは言う

オフライン アクセスが必要ない場合は、アクセス トークンを取得し、安全な接続を介してサーバーに送信できます。サーバーの OAuth 2.0 クライアント ID なしでスコープを指定することにより、GoogleAuthUtil.getToken() を使用してアクセス トークンを直接取得できます。

ただし、サーバーがトークンで何をすべきかは述べていません。

4

1 に答える 1

1

ユーザーが Google+ サインイン経由でログインできるようにする Android アプリがあり、この Android アプリが REST API を呼び出します。必要なのは、サービスがこのリクエストを認証する方法です。この Android クライアントはトークンを使用してサービスにリクエストを送信するため、認証のためにこのトークンを検証する必要があります。私の理解は正しいですか?

その場合は、サービスに送信されたトークンを検証する必要があります。あなたが言及した参照は、あなたの場合、Google API呼び出し用です。これは独自のサービス API 呼び出しです。Android 側では、リファレンスに従ってください。サービス側では、TokenInfo 検証を使用してユーザーを認証できます。

于 2014-07-15T05:12:21.990 に答える