問題タブ [owin-security]

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 投票する
1 に答える
1004 参照

asp.net-mvc - DpapiDataProtectionProvider Protect の出力を短くする方法はありますか?

Asp.Net OWIN MVC アプリ用に提供されたテンプレートを使用します。ForgotPassword メソッドを呼び出して AccountController を取得します...

いくつかの調査の後、DpapiDataProtectionProvider Protectメソッドを使用して、コードが OWIN セキュリティによって保護されていることがわかりました。それは結構です。

ここで私を悩ませているのは、返されるコードが非常に長いことです。コードが間違っているのか、それともコードを短くするために変更できるものがあるのか​​ わかりません。注意すべき重要なことの 1 つは、次のコードを使用して IDataProtector を手動で設定していることです...

どんな助けでも大歓迎です!

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

owin - OWIN セキュリティ AuthenticationHandler での複数の Cookie の問題

私は Facebook Owin 認証を使用しており、多かれ少なかれ Microsoft のサンプルに従っています。初めてのユーザーのログインに多かれ少なかれ従っていますが、すべて問題ありません。しかし、サインアウトして再試行すると、以前の .AspNet.Correlation.Facebook が削除されていないように見えますが、空の文字列に設定されています。したがって、次の api/getexternallogin への呼び出しは、Fiddler では次のようになります。

ここに画像の説明を入力

これは、correlationId を生成しているときであり、この時点で複数の Cookie を持っていてもショー ストッパーではありません。応答で、新しい CorrelationId に設定しました。

ここに画像の説明を入力

後で facebook が "/signin-facebook" にコールバックすると、ValidateCorrelationId メソッドでcorrelationId を検証しようとします。リクエストは次のようになります。

ここに画像の説明を入力

したがって、新しい CorrelationId が設定されましたが、値のない余分な Cookie は、Request.Cookies["ValidateCorrelationId"] に移動すると空の文字列を返すことを意味します。

コードを確認したところ、この Cookie を変更するメソッドは GenerateCorrelationId と ValidateCorrelationId だけのようです。これらのメソッドの実装は、次の場所にあります。

http://katanaproject.codeplex.com/SourceControl/latest#src/Microsoft.Owin.Security/Infrastructure/AuthenticationHandler.cs

不思議なことに、私のブラウザは問題を認識していないようです:

ここに画像の説明を入力

どんなアイデアでも大歓迎です。

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

c# - GrantResourceOwnerCredentials が System.Web.Helpers を参照している場合、CORS が機能しない

次のようにメソッドOAuthAuthorizationServerProviderをオーバーライドしている場所の単純な(トラブルシューティングのみの)実装があります。GrantResourceOwnerCredentials

最初の行は CORS を有効にし、2 行目は単にコンテキストを無効にします。Chrome を使用してテストすると、これは期待どおりに機能します。トークン エンドポイントに POST すると、 400 (Bad Request)が返されます。

ただし、への参照を導入した瞬間System.Web.Helpers.Crypto、CORS が機能しなくなり、要求されたリソースに No 'Access-Control-Allow-Origin' ヘッダーが存在しません。 たとえば、上記を次のように変更すると CORS が失敗します。

もちろん、これは問題のトラブルシューティング中に思いついた不自然な例です。実際の G​​rantResourceOwnerCredentials では、Crypto.VerifyHashedPassword() が使用され、まったく同じ問題が発生します。また、テストとして、Crypto への呼び出しを別のクラスですばやくラップしましたが、問題は解決しません。

奇妙なバグに遭遇しましたか? これに関する任意の方向性をいただければ幸いです。

更新: さらに調査した結果、この問題は明らかに System.Web.Helpers への参照で発生することが明らかになりました。つまり、System.Web.Helpers.Crypto クラスに固有のものではありません。

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

asp.net-mvc - ユーザーがasp.net mvc/angularjsで自分のページをリクエストしているかどうかを確認してください

私のプロジェクトでは、angularjs で asp.net mvc を使用しています。オブジェクトと一緒に追加のデータ(isOwner変数のようなもの)を返す方法はuser?

ビューで、ユーザーが自分のページをリクエストした場合にのみ編集ボタンを表示したい

APIコントローラーは次のとおりです。

および angularjs コントローラー:

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

asp.net-mvc - IdentityServer で FacebookAuthenticationProvider インスタンスを取得する (Owin アプリ)

私は Thinktecture IdentityServer の実装の最中であり、ローカルでユーザーを認証することによって応答する、ネイティブに取得された Facebook アクセス トークンをサーバーに提供するモバイル アプリの機能を追加しています。

IdentityServer は、Microsoft の Owin ミドルウェアを使用して Facebook 認証を行います。アプリに追加する方法は次のとおりです。

私がやりたいことは、別のクラスで、これを呼び出すことです:

しかしFacebookAuthenticationProvider、必要なインスタンスを取得する方法がわかりません。それともそれも必要ですか?new1つ上げてもいいですか?

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

c# - IdentityServer3 への登録後にローカル ユーザーを自動的にログインする

IdentityServer3を使用して、ユーザーが登録プロセスを完了した後、自動的にログインしてローカル ユーザーをクライアント アプリケーションにリダイレクトする必要があります。これを行うエレガントな方法はありますか?私の掘り下げから、そうではないと思われますが、これを達成するために使用できるハックはありますか?

カスタムUser Serviceを使用して外部ユーザーに対してこれを実現できましたが、これは部分的なログインを利用していました。ただし、ローカル ユーザーの場合、ユーザー名とパスワードでログインするまで、ユーザー サービスによって処理される認証プロセスには参加しません。

また、登録プロセスは複数の画面/ビューでカバーされているため、ユーザーのパスワードにアクセスできないことにも注意してください。この場合、登録プロセスの一部として電子メールを確認する必要があります。

進捗:

このhttps://github.com/IdentityServer/IdentityServer3/issues/563を見つけましたが、リダイレクトをトリガーする方法がわかりませんでした。

以下を使用して認証トークンを発行しようとしています。

しかし、これまでにできる最善の方法は、ユーザーをログイン画面にリダイレクトすることです。

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

asp.net-mvc - OWIN Cookie 認証セキュリティ

私は新しいプロジェクトに近づいており、OWIN を介して MVC5 と Identity を使用して検討しています。

エンティティ フレームワークのユーザー データベース、登録/サインインなどを提供する足場プロジェクトを実行しています。サード パーティまたは 2 つの要素はありません。

私が現在理解しているように、OWIN セキュリティは Cookie に基づいています。Web に手を出してから数年が経ちましたが、ID とクレームをセッションに保存する必要があるという印象を受けました。

ユーザーがログインし、さまざまなクレームが設定されたときに設定される Cookie を調べています。基礎となるフレームワークが何をしているのか実際にはわかりません。見つけるのに苦労しています:

  • 技術的なリンクはありますか? インターフェースを実装してこれをセットアップする方法ではなく、セキュリティとベストプラクティスについてです。
  • この Cookie には実際には何があり、EditThisCookie で何が設定されているかを調べるにはどうすればよいですか? 暗号化または難読化されていますか?
  • これはセッションよりも安全ですか?
  • 誰かが、どのようにしてこの Cookie を取得した場合、基本的に同じユーザーとしてサインインできますか?
  • これはスケーリングしますか?通常、複数のフロント エンドが同じセッション サーバーと通信するためです。
0 投票する
2 に答える
1020 参照

.net - Castle Windsor を使用して OWIN IAuthenticationManager を登録する

実装は OWIN コンテキストからIAuthenticationManager取得できますが、Castle Windsor のコンポーネント登録はコンポーネントを解決する前に行う必要があるため、どこにでも注入されるようにコンポーネントとして登録するにはどうすればよいですか?IAuthenticationManager

私の知る限り、私は を使用する必要がありますComponent.For<IAuthenticationManager>().UsingFactoryMethod(...)が、OWIN/Katana を使用しているため、次のようなものHttpContext.Current.GetOwinContext()は機能しません (機能する場合はこのために依存関係を追加したくありませんSystem.Web...)。

現時点での解決策は何ですか?

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

c# - iis 8 が owin.Oaut 3.1 の読み込みに失敗する

Mvc アプリを iis で公開しようとすると * Owin で次の例外が発生しました

ここにWeb.configファイルがあります

これは、Nuget 経由で Owin をアップグレードしたときに発生します。この問題に関するヘルプ???