問題タブ [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.
asp.net-mvc - DpapiDataProtectionProvider Protect の出力を短くする方法はありますか?
Asp.Net OWIN MVC アプリ用に提供されたテンプレートを使用します。ForgotPassword メソッドを呼び出して AccountController を取得します...
いくつかの調査の後、DpapiDataProtectionProvider Protectメソッドを使用して、コードが OWIN セキュリティによって保護されていることがわかりました。それは結構です。
ここで私を悩ませているのは、返されるコードが非常に長いことです。コードが間違っているのか、それともコードを短くするために変更できるものがあるのか わかりません。注意すべき重要なことの 1 つは、次のコードを使用して IDataProtector を手動で設定していることです...
どんな助けでも大歓迎です!
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 だけのようです。これらのメソッドの実装は、次の場所にあります。
不思議なことに、私のブラウザは問題を認識していないようです:
どんなアイデアでも大歓迎です。
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 が失敗します。
もちろん、これは問題のトラブルシューティング中に思いついた不自然な例です。実際の GrantResourceOwnerCredentials では、Crypto.VerifyHashedPassword() が使用され、まったく同じ問題が発生します。また、テストとして、Crypto への呼び出しを別のクラスですばやくラップしましたが、問題は解決しません。
奇妙なバグに遭遇しましたか? これに関する任意の方向性をいただければ幸いです。
更新: さらに調査した結果、この問題は明らかに System.Web.Helpers への参照で発生することが明らかになりました。つまり、System.Web.Helpers.Crypto クラスに固有のものではありません。
asp.net-mvc - ユーザーがasp.net mvc/angularjsで自分のページをリクエストしているかどうかを確認してください
私のプロジェクトでは、angularjs で asp.net mvc を使用しています。オブジェクトと一緒に追加のデータ(isOwner変数のようなもの)を返す方法はuser
?
ビューで、ユーザーが自分のページをリクエストした場合にのみ編集ボタンを表示したい
APIコントローラーは次のとおりです。
および angularjs コントローラー:
asp.net-mvc - IdentityServer で FacebookAuthenticationProvider インスタンスを取得する (Owin アプリ)
私は Thinktecture IdentityServer の実装の最中であり、ローカルでユーザーを認証することによって応答する、ネイティブに取得された Facebook アクセス トークンをサーバーに提供するモバイル アプリの機能を追加しています。
IdentityServer は、Microsoft の Owin ミドルウェアを使用して Facebook 認証を行います。アプリに追加する方法は次のとおりです。
私がやりたいことは、別のクラスで、これを呼び出すことです:
しかしFacebookAuthenticationProvider
、必要なインスタンスを取得する方法がわかりません。それともそれも必要ですか?new
1つ上げてもいいですか?
c# - IdentityServer3 への登録後にローカル ユーザーを自動的にログインする
IdentityServer3を使用して、ユーザーが登録プロセスを完了した後、自動的にログインしてローカル ユーザーをクライアント アプリケーションにリダイレクトする必要があります。これを行うエレガントな方法はありますか?私の掘り下げから、そうではないと思われますが、これを達成するために使用できるハックはありますか?
カスタムUser Serviceを使用して外部ユーザーに対してこれを実現できましたが、これは部分的なログインを利用していました。ただし、ローカル ユーザーの場合、ユーザー名とパスワードでログインするまで、ユーザー サービスによって処理される認証プロセスには参加しません。
また、登録プロセスは複数の画面/ビューでカバーされているため、ユーザーのパスワードにアクセスできないことにも注意してください。この場合、登録プロセスの一部として電子メールを確認する必要があります。
進捗:
このhttps://github.com/IdentityServer/IdentityServer3/issues/563を見つけましたが、リダイレクトをトリガーする方法がわかりませんでした。
以下を使用して認証トークンを発行しようとしています。
しかし、これまでにできる最善の方法は、ユーザーをログイン画面にリダイレクトすることです。
asp.net-mvc - OWIN Cookie 認証セキュリティ
私は新しいプロジェクトに近づいており、OWIN を介して MVC5 と Identity を使用して検討しています。
エンティティ フレームワークのユーザー データベース、登録/サインインなどを提供する足場プロジェクトを実行しています。サード パーティまたは 2 つの要素はありません。
私が現在理解しているように、OWIN セキュリティは Cookie に基づいています。Web に手を出してから数年が経ちましたが、ID とクレームをセッションに保存する必要があるという印象を受けました。
ユーザーがログインし、さまざまなクレームが設定されたときに設定される Cookie を調べています。基礎となるフレームワークが何をしているのか実際にはわかりません。見つけるのに苦労しています:
- 技術的なリンクはありますか? インターフェースを実装してこれをセットアップする方法ではなく、セキュリティとベストプラクティスについてです。
- この Cookie には実際には何があり、EditThisCookie で何が設定されているかを調べるにはどうすればよいですか? 暗号化または難読化されていますか?
- これはセッションよりも安全ですか?
- 誰かが、どのようにしてこの Cookie を取得した場合、基本的に同じユーザーとしてサインインできますか?
- これはスケーリングしますか?通常、複数のフロント エンドが同じセッション サーバーと通信するためです。
.net - Castle Windsor を使用して OWIN IAuthenticationManager を登録する
実装は OWIN コンテキストからIAuthenticationManager
取得できますが、Castle Windsor のコンポーネント登録はコンポーネントを解決する前に行う必要があるため、どこにでも注入されるようにコンポーネントとして登録するにはどうすればよいですか?IAuthenticationManager
私の知る限り、私は を使用する必要がありますComponent.For<IAuthenticationManager>().UsingFactoryMethod(...)
が、OWIN/Katana を使用しているため、次のようなものHttpContext.Current.GetOwinContext()
は機能しません (機能する場合は、このために依存関係を追加したくありませんSystem.Web
...)。
現時点での解決策は何ですか?
c# - iis 8 が owin.Oaut 3.1 の読み込みに失敗する
Mvc アプリを iis で公開しようとすると * Owin で次の例外が発生しました
ここにWeb.configファイルがあります
これは、Nuget 経由で Owin をアップグレードしたときに発生します。この問題に関するヘルプ???