2017-12-15 6 views
1

IdentityServer4 APIリソース用に定義された秘密がないと、セキュリティ上の脆弱性が導入されますか?IdentityServer4 APIリソースには秘密が必要ですか?

私はIntrospection Endpointを使用するとき、そしてIntrospectionエンドポイントを使用してAuthorizationをバイパスし、定義されたシークレットなしでAPIにアクセスできるかどうかをちょっと混乱させます(API名だけのPOSTパラメータとして)。

これは可能ですか?または、イントロスペクションエンドポイントは、クライアントクレデンシャルグラントのようなものを使用する定義済みクライアントを介してのみ許可されますか?

答えて

0

イントロスペクションエンドポイントは、投稿されたトークンの妥当性を検証するのみで、要求にAPI名を受け入れるべきではありません。

参照トークン(または消費者が適切なJWTまたは暗号化ライブラリをサポートしていない場合はJWT)の検証に使用できます。イントロスペクションエンドポイントでは、スコープシークレットを使用した認証が必要です。

http://docs.identityserver.io/en/release/endpoints/introspection.html

これは、それが「.well知ら/ openidの-設定」と同じ方法で、アイデンティティ・サーバーによって含まれている、あなたが実装する必要があるエンドポイントにすべきではありません。

このエンドポイントのユースケースは、トークンを渡してその本物で有効な(有効期限切れでも無効でもない)ことを確認したい場合、応答にはトークンに関連付けられたクレームが含まれます(ユーザーはトークンイントロスペクションのセキュリティの考慮事項については考慮されてスコープ)

を使用すると、バックチャネル上での送信を主張として認証コードのフローを使用しているとき、APIリソースは、クライアントシークレットが必要ですRFC 7662 Section 4

0

を参照してください。

参照トークンを使用している場合は、アクセストークンがクライアントに提示されることはありませんが、参照トークンはクライアントからapiリソースに渡され、次にIDサーバーアクセストークンと引き換えに。

本当にクライアントとフローによって異なります。

関連する問題