問題タブ [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.

0 投票する
2 に答える
1878 参照

unit-testing - Owin.TestServer 認証が必要なミドルウェアをテストするには

適切な実行のためにcontext.Authentication.User.Identity.Nameを解決する必要があるミドルウェア メソッドがあります。ただし、単体テストを作成する場合、サインインが発生していないため、これらのプロパティは明らかに null です。別のミドルウェアの他の場所で処理する必要があるため (私が開発しているコンポーネントの再利用/柔軟性を促進するため)、このミドルウェアに関連する Oauth やその他の認証は使用していません (明らかな名前のプロパティを超えて)。テストを実行できるように、この値をモック/偽造する方法はありますか? サインオンを偽造するために考えられるすべてのことを試しましたが、この時点で立ち往生しています。明確にするために、ミドルウェアには webapi 呼び出しなどではなく値が必要です。

0 投票する
1 に答える
2873 参照

asp.net-mvc - ASP.Net MVC: owin ミドルウェアでセッションの開始と終了を処理する方法

これは、セッションの開始と終了のサンプル コードです。

MVC6 以降、global.asax ファイルはありません。では、owinミドルウェアでセッションの開始と終了を処理する方法。可能であれば、コード例で議論してください。ありがとう

0 投票する
1 に答える
1239 参照

c# - Mvc5 ExternalLoginCallback : 「await AuthenticationManager.GetExternalLoginInfoAsync()」が「シーケンスに複数の要素が含まれています」で失敗する

外部ログイン コールバックでこのエラーが発生し続けるのはなぜですか。これが何をしているのかです。

輸入品

私のAccountController.csクラス

私の Startup.cs クラス

スタック トレースは次のとおりです。

コード内のどのポイント プリント スクリーンを表示する

この動作は、google、twitter、および facebook と同様です。外部認証はうまくいっているように見えますが、コールバックはこの例外をスローします。提供された提案に感謝します。

0 投票する
0 に答える
451 参照

c# - Microsoft Owin 応答本文のエンコード

私のOwinMiddleware中で私は体に書き出すだけです:

Fiddler で得られる生の応答は次のとおりです。

そして、フィドラーはこれがエンコードされていると言っています(ここをクリックしてデコードするというメッセージが表示されます)

単一の文字と数字は私のものではありません。/hey/thereandthereHey ThereandGuidを中かっこで書きました。

プレーンテキストの応答を取得するにはどうすればよいですか?

0 投票する
1 に答える
3432 参照

asp.net-core - [Authorize] 属性を使用して ASP 5/Core Web API を統合テストするにはどうすればよいですか

現在、OWIN テスト サーバーとの統合テストに必要な ASP 5/ASP Core Web API があります。

問題は、本番環境で IdentityServer を認証サーバーとして使用していて、統合テストの一部として認証を含めたくないことです。

これは、API の Startup.cs です。

理論上はクレーム プリンシパルを認証して設定する特別なテスト ミドルウェアを登録しようとしました。しかし、OWIN パイプラインのどこかで認証が拒否され、401 エラー コードが表示されます。

これは、OWIN テスト サーバーをセットアップする方法です。

そして、これは私の習慣AuthenticatedTestRequestMiddlewareです:

プリンシパルが設定され、指定された ID でデータベースに存在しますが、呼び出すnext(context)と結果が得られ401 Unauthorizedます。

HttpRequest に現在のユーザーを設定しながら、ユーザーを正常に認証して [Authorize] をバイパスするにはどうすればよいですか?

更新: そのような独自の CookieAuthentication ハンドラーを登録すると:

302 Redirectログインページにアクセスします。ただし、TestMiddleware 内でこれを使用すると、サインインは正しく機能しますawait context.Authentication.SignInAsync(TestingCookieAuthentication, claimsPrincipal)

0 投票する
2 に答える
205 参照

c# - log4net構成を追加するときのCORSの問題

環境:

コントローラーとアクションを備えた単純な Web API プロジェクトがあります。各リクエストのヘッダーに、認証トークンを追加します。すべてが期待どおりに機能します。いくつかの資格情報に基づいてトークンを要求し、それを使用して HTTP 要求を正常に行うことができます。

問題: web.config に以下を追加すると:

次のエラーが表示されます。

log4net の構成を削除すると、すべてが期待どおりに機能します。

注:リクエストにヘッダーを追加する web.config の設定はありません。

Startup.csは、私が指定したプロジェクトの唯一のポイントです。

app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

質問: log4net 構成は、プリフライト リクエストとどのように関連していますか? (ASP.NET フレームワークに関する私の限られた知識に基づいて、それはナンセンスだと思います)。私が見逃している機微はありますか?

0 投票する
1 に答える
1310 参照

c# - IOwinContext からルート テンプレートを取得する

リクエストからルート テンプレートを取得しようとしています。私は OwinMiddleware を使用しており、IOwinContext を受け入れる Invoke メソッドをオーバーライドしています。

リクエスト URL が与えられた場合: http://api.mycatservice.com/Cats/1234

「 Cats/{CatId}」を取得したい

次のアプローチを使用して変換しようとしましたが、失敗しました。

参考のため:

これは、別のプロジェクトに正常に実装した HttpRequestMessage を使用してこれを行う方法に関する投稿です