web-dev-qa-db-ja.com

.NET Framework 4.x WebAPIをIdentityserver4で保護する

IDサーバー4を使用していますが、現在ASP.NET Core上にあり、問題ありません。

しかし、私は.NET 4.6.2上にある Web API アプリケーションを持っています。これらのAPIをどのように保護できるのだろうか。それとも可能ですか?または、WebAPIをASP.NETCoreに変更する必要がありますか?

どこでも検索しましたが、すべてのサンプルはASP.NETCoreを使用しています。

12
Pouya Samie

Identity Server 4は、クライアントが何であるかを気にしません。必要に応じて、コンソールアプリケーションでID4をテストできますよね?

ご覧のとおり、ID4は基本的にREST Web API自体であり、HTTPプロトコルの上にOpen ID Connect/oAuth2プロトコルを使用するいくつかのよく知られたエンドポイントがあります。見てください。ここでコンソールクライアントを使用したサンプルで、クライアントの設定方法をより深く理解してください: https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/Clients

したがって、クライアントがたまたまWeb APInet462であるかどうかは問題ではありません。あなたがしなければならないのは、ホストされたID4のURLにリクエストを送信することだけです。たぶん、KatanaのOpen ID Connectミドルウェアを調べて、作業を簡単にします。 https://leastprivilege.com/2014/06/12/using-discovery-and-katana-middleware-to-write-an-openid -connect-web-client / 。ちなみに、IdentityServerの作成者の1人のブログへのリンクです。彼のブログを閲覧して、より役立つ情報を見つけることをお勧めします。

トークン検証の更新

トークンの検証には、トークンエンドポイントが必要です: http://docs.identityserver.io/en/release/endpoints/token.html 。たとえば、Katana JWTミドルウェアを見ることができるので、JWTトークンを読み取ることをお勧めします: http://odetocode.com/blogs/scott/archive/2015/01/15/using-json-web-tokens -with-katana-and-webapi.aspx

6