2016-11-16 4 views
2

Authleteで認証フローを設定しようとしていますが、クレームデータを取得する方法がわかりません。クレームデータを取得するOAuthエンドポイントを認証する

/認証/承認< - 私の切符を獲得

/認証/承認/発行< - 私は請求データを設定し、トークンしかし

/AUTH /イントロスペクションを取得することができます< - 請求データ(クレームリストのみ)を返しません。

/auth/userinfo < - 請求データを返しません。

認証トークンを渡してクレームデータを取得するエンドポイントは何ですか?

答えて

1

/auth/introspectionは、アクセストークンに関する情報を取得するためのAPIです。その回答には、主張に関する情報は含まれていません。

/auth/userinfoは、クライアントアプリケーションからUserInfo Endpointへのリクエストを解析するAPIです。その応答には、データベースから取得するはずの値を持つクレームのリストが含まれています。

次の手順では、クレームの値を/auth/userinfo/issue APIに渡します。 APIの応答には、プレーンなJSONまたはID token(これは種類がJWT)が含まれています。 クレーム値はそこに含まれています。

Authlete APIsが呼び出される方法については、以下のオープンソースのリポジトリを参照してください。

  1. java-oauth-server(認証サーバ/ OpenIDプロバイダ)
  2. java-resource-server(リソースサーバー)
  3. authlete-java-common(AuthleteのAPIのラッパーライブラリ)
  4. authlete-java-jaxrs(JAX-RSのためのユーティリティライブラリ)

UserInfoEndpoint.javajava-resource-server)にUserInfoエンドポイント実装の例があります。 UserInfoEndpointクラスはBaseUserInfoEndpointクラス(authlete-java-jaxrs)に拡張されています。

その他のご質問は歓迎します。私はAuthleteの共同設立者であり、すべてを設計して実装した人です。

+0

ありがとうございます。私が持っている質問は、/ auth/authorization/issueコールで請求データを設定できるかどうかです。これは誰が消費者ですか?あるいは、認証トークンフローはこのデータを無視しますか?おそらくJWTフローを通じて利用可能になるでしょうか? – user1432403

+0

@ user1432403私はあなたの追加の質問を正しく理解していませんが、/ auth/authorization/issue APIからの応答の直接消費者はUserInfoエンドポイント実装です。UserInfoエンドポイント実装は、APIレスポンスから 'responseContent'の値を抽出し、UserInfoエンドポイントに元の要求を行ったクライアントアプリケーションにその値を返します。その意味で、クライアントアプリケーションは最終的な(間接的な)消費者です。ところで、 "認証トークンフロー"と "JWTフロー"はどういう意味ですか? –

0

私はクレームの値を文字列で渡すべきだと思います。 (例:"claims": "{\"email\":\"[email protected]\",\"email_verified\":true}")そうでなければretrieveの請求はdataにできません。

関連する問題