asp.net Web API サービスをトークンで保護したいと考えています。これで、通常は STS サーバーを実装することがわかりましたが、私はそれをしたくないので、他のオプションは何ですか。
クライアントがユーザー名とパスワードを渡すように呼び出すことができるコントローラーを保護しないままにしておくことを考えていました。これにより、トークンが返されます。このトークンは、保護されるサービス上の他のコントローラーを呼び出すために使用され、必要になります。
したがって、DelegatingHandler と AuthorizeAttribute を使用すると、いくつかの疑問が生じます。クライアントが認証を呼び出すには、コントローラーを保護しないままにしておく必要があるため、上記のオプションは authorizeAttribute である必要があります。1つのコントローラーを保護しないままにするのではなく、完全なサービスを技術的に保護する委任ハンドラーを使用する方法がわかりません。
もう 1 つのオプションは、クライアントが認証してトークンを取得できるようにする別のサービスを提供することです。その後、delegatinghandler を使用して 2 番目のサービスをロックダウンできます。
私が STS ルーティングを下ったと想像してみましょう。クライアントが「OPEN」サービス/コントローラーに接続し、トークンを取得するために STS を呼び出す何らかの方法を提供する必要があります。
これを考えると、別のサービスが最善の選択肢でしょうか?