2016-12-15 6 views
0
  1. ユーザアクセスアプリケーションクライアント
  2. アプリケーション・クライアント(ユーザーエージェント/ブラウザ経由で)認証サーバーにユーザーをリダイレクトする
  3. ユーザーが認証サーバーが資格情報を確認し、資格情報(ユーザー名/パスワード)
  4. を入力し、リダイレクトURI(私の場合、私のアプリを指し示すカスタムAndroidスキーマ)にAuthorizationCode(認証コード許可の場合)またはアクセストークン(暗黙の許可の場合)を送信します。 ...

(ommitedトークン交換又はアクセストークンを使用する工程を含む他のステップ)OAuth:アクセストークンの後に認証されたユーザー情報を取得する方法は?

方法とアプリケーションクライアントは、ユーザーIDのように(自分の資格情報を提供されたユーザーについての情報を取得する場合や、名)??

私はAuthorization ServerにOAuth API Secure Project(https://github.com/OAuth-Apis/apis)を使用しており、Swagger code-genによって生成されたリソースサーバー/ APIを使用しています。

認証サーバーは、認証されたプリンシパルに関する情報を含むアクセスキーを細かくに保存しています。また、principal:/ tokenInfoに関するこの情報を取得するエンドポイントもありますが、このエンドポイントはリソースサーバー用です(リソースサーバーの資格情報が必要です)。

私の問題はアプリケーションクライアントがユーザー情報を取得することだけです.... アクセストークンと/ tokenInfoエンドポイントに基づいて、ユーザー/プリンシパルに関する情報を取得するためにエンドポイントを作成することができます。アプリケーションクライアントに戻りますが、その奇妙なことは...私はそこに標準があると思います...

誰か助けてもらえますか?

答えて

2

リソースサーバーがユーザー情報を返すAPIを公開していない場合、クライアントアプリケーションはユーザー情報を取得できません。そのようなAPIが存在する場合、クライアントアプリケーションはアクセストークンを使用してAPIにアクセスしてユーザー情報を取得できます。

許可サーバーがOpenID Connectをサポートしている場合は、ユーザー情報を取得する標準的な方法が2つあります。 1つは、ユーザ情報を含むID tokenを発行する許可サーバを要求することです。もう1つはUserInfo Endpointにアクセスすることです。詳細については、OpenID Connect Core 1.0を参照してください。

関連する問題