問題タブ [owin-middleware]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Owin.Host.SystemWeb 例外ミドルウェアでホストされている AspNet WebApi が POST 要求をキャッチしない
Microsoft.Owin.Host.SystemWeb を使用して、Owin でホストされている AspNet WebApi 2 を使用するプロジェクトを持っています。
以下のプロジェクトでは、Get と Post の両方のエンドポイントで例外をスローするコントローラーがあります。get リクエストを作成すると、Owin 例外ミドルウェアから予期される応答が返されます。
ただし、投稿リクエストを行うと、ミドルウェアはスキップされ、次が返されます。
post リクエストがミドルウェアをスキップして 500 を返し、Owin 例外ハンドラに到達するようです。投稿リクエストの例外をキャッチしてログに記録できるようにしたい。これをどのように行うべきか考えていますか?post と get の間で動作が異なる原因は何ですか?
リポジトリとコード スニペットの例。
https://github.com/timReynolds/WebApiExceptionDemo
OwinExceptionHandlerミドルウェア
ExampleExceptionLogger
起動
asp.net-web-api2 - WS-Federation で OAuth ベアラー呼び出しスタイルを使用して WebAPI で認証する方法は?
Cookie の代わりに認証ヘッダーを使用して Web API を処理するために、OWIN ミドルウェア ライブラリに Ws-Federation 認証用のすぐに使える拡張機能はありますか?
トークンを抽出して検証するカスタム ハンドラーを作成する方法は知っていますが、これを回避できますか?
asp.net-mvc - OAuth ベアラー認証のための ASP.NET MVC ID の分析
Asp.Net MVC Identity 2.0 を機能させる方法を学んでいます。
OAuthベアラーで機能するこのコードがあります
Startup.Auth.cs のコードは次のとおりです。
ClaimsIdentity と AuthenticationTicket のソース コードを確認しましたが、ID に対してチケットがどのように登録されているかわかりません。
私の質問は、このチケットはどのようにして Owin パイプラインに登録されたのですか?
私の目標は、可能であればこのチケットを取り消すことです。
前もって感謝します。
asp.net-web-api - OData $batch リクエストで OWIN が ID を失う
標準の WebApi アプリを OWIN に移行しようとしていますが、ID と $batch 要求に問題があります。
私は現在DelegatingHandler
、でアイデンティティを検出して割り当てる を持っていますSendAsync
:
通常のリクエストの場合、これはODataController.User
. ただし、$batch
リクエストでは、プロパティは認証されていない に戻りますClaimsIdentity
。
User なしでもをGetOwinContext
返します。IOwinContext
バッチ部分ごとに新しいコンテキストが作成されたと思いますが、元のコンテキストを見つける方法がわかりません。
どんな助けでも素晴らしいでしょう!
asp.net-core - 他のミドルウェアを呼び出すミドルウェア
カスタム ミドルウェアに抽出したい ASP.NET Core コードがいくつかあります。具体的には、次のロジックを実装する必要があります。特定のパスmapPath
が要求された場合、その要求を で識別される別のホストにプロキシしproxyUrl
ます。
次のコードStartup.cs
はトリックを行います。
まあ、それはapp.Map()
分岐に使用され、次にプロキシミドルウェアを使用してリクエストをプロキシします。
(方法) このロジックをカスタムの再利用可能なミドルウェアに抽出することは可能ですか? それとも、ここで「本物の」ミドルウェアを使用することはできませんか? 私にできることはもちろん、拡張メソッドを作成することです。たとえばapp.UseMapProxy()
、そこにロジック 1:1 を配置しますが、「実際の」ミドルウェア クラスでもそれを実行できるかどうか疑問に思いました。
asp.net - ASP.NET Core パイプライン認証の分岐
私のアプリケーションは現在基本認証を使用していますが、OAuth に移行したいので、両方のタイプの認証を使用する必要がある短い期間があります。次のように ASP.NET Core パイプラインを分岐する方法はありますか。
上記のように、HTTP ヘッダーを検出した場合は基本認証を使用し、それ以外の場合は OAuth を使用しています。
c# - レスポンス ContentType を設定するミドルウェア
私たちの ASP.NET Core ベースの Web アプリケーションでは、次のことが必要です。特定の要求されたファイルの種類は、応答でカスタムの ContentType を取得する必要があります。たとえば.map
、にマップする必要がありますapplication/json
。「完全な」ASP.NET 4.x では、IIS と組み合わせて<staticContent>/<mimeMap>
、これに web.config を利用することができました。この動作をカスタム ASP.NET Core ミドルウェアに置き換えたいと考えています。
そこで、次のことを試しました(簡潔にするために簡略化しています):
残念ながら、context.Response.ContentType
残りのミドルウェア チェーンを呼び出した後に設定しようとすると、次の例外が発生します。
この要件を解決するミドルウェアを作成するにはどうすればよいですか?
asp.net-mvc - 現在の Web アプリケーションのホスト名である ConfigureAuth を確認するにはどうすればよいですか?
CookieDomain をロードし、データベースの値に基づいて外部プロバイダーを設定したいのですが、スタートアップが ConfigureAuth(app); を呼び出しているときに HttpContext.Current.Request.Url.Host がまだ設定されていないようです。(値は常に 127.0.0.1 です)
起動時に現在のホスト名を使用できるようにするにはどうすればよいですか?
たとえば、Web1.com、Web2.com ... がすべて同じ Web アプリケーションにバインドされている場合、ConfigureAuth でそのホスト名に固有の値 (CookieDomain、CookieName、facebookAuthOptions.AppId、facebookAuthOptions. AppSecret など...)