問題タブ [owin]
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 - ASP.NET MVC 5 (VS2013 final): OWIN を使用した Facebook ログインが失敗する (loginInfo が null)
昨日リリースされた VS2013 の最終ビットをインストールしました。外部 Facebook ログインを有効にする例を試しています。私の最初の質問:
このコントローラー コード (私は触れず、サンプル テンプレートからそのまま残しました):
await AuthenticationManager.GetExternalLoginInfoAsync() の行にブレークポイントを設定しました。コードが返され (Facebook ログインを行った後)、「loginInfo」は null です。UI では、ログイン ページが引き続き表示され、変更はありません。どうすればこれをデバッグできますか? GetExternalLoginInfoAsync() 内のコードを見つけようとしていましたが、このスレッドによると:
Microsoft.AspNet.Identity.Owin.AuthenticationManager は Asp.Net Identity RTM バージョンのどこにありますか?
AuthenticationManager はなくなりました。(これは、上記の場合には当てはまらないようです。)
私の 2 番目の質問: ASP.NET MVC5 サンプル コードを変更せずに (app.UseFacebookAuthentication のコメントを解除し、FB アプリの詳細を入力する以外に) Facebook ログインで動作するサンプルを入手できる人はいますか? (「localtest.me」などのエイリアス ホストを Facebook で構成し、IIS Express で構成する必要があります。)
助けてくれてありがとう...
-ベン
visual-studio-2013 - VS2013 (RTW): SPA テンプレートと MVC5 テンプレートの認証の違い?
VS2013 RTW MVC テンプレート (「個々のユーザー アカウント」用) で新しい ASP.NET ID を試してみましたが、うまく機能しています。データをシリアル化する方法をカスタマイズしながら、Facebook ログインを統合することができます。
まったく問題ありませんが、(MVC の代わりに) 新しい SPA アプリを作成すると、認証の話が大きく異なることに気付きました。例として:
SPA テンプレートから:
MVC テンプレートから:
これは、Account コントローラーのコンストラクターの違いにすぎません。他にも多くの違いがあります。MVC バージョンでは、ApplicationDBContext から独自のコンテキスト クラスを簡単に派生させ、それを使用して認証テーブルと一緒に独自のテーブルを格納することができました。SPA テンプレートでデータ ストレージをカスタマイズする方法がわかりませんでした。
また、SPA テンプレートには、次のクラスが含まれ、使用されます。 public class ApplicationOAuthProvider : OAuthAuthorizationServerProvider
MVC テンプレートは、このクラスを定義 (または使用) しません。
MVC テンプレートと SPA テンプレートの間に違いが必要な理由がわかりません。
これら 2 つのテンプレートで認証の処理が異なる理由について、誰かが私にガイダンスを与えることができますか? プロジェクトをゼロから開始する場合、両者の間でたどる優先パスはありますか? (特に、カスタム EF Context クラスを定義してデータの格納方法をカスタマイズするという点では、MVC テンプレートのコードが最適のようです。)
ありがとう...
-ベン
authentication - Windows 認証とカスタム ロール プロバイダーを使用して OWIN をセットアップする方法
MVC4 では<authentication mode="Windows"/>、web.config で有効にし、カスタム ロール プロバイダーを作成しました。これにより、自動的に がラップWindowsIdentityさRolePrincipalれます。魅力のように働きました。
OWIN や Microsoft.ASPNET.Identity を使用して MVC5 でこれを行うにはどうすればよいでしょうか?
authentication - ASP.NET MVC5 で Steam にログイン
私は最近、ASP.NET MVC5 と新しい OWIN 認証ミドルウェアをいじっています。ユーザーに Steam アカウントとパスワードでログインしてもらいたいです。ユーザーが正常にログインした後、さらに処理するために Steam アカウント ID が必要です。ドキュメントに記載されているように、 Steam は OpenId プロバイダーとして機能できます。
MVC4では、カスタム OpenIdClient を実装します。MVC5 では OpenIdClient クラスが削除され、Facebook、Google、およびその他の定義済みプロバイダーでログインするメソッドを提供する IAppBuilder クラスを使用して認証が構成されているようです。
残念ながら、カスタム プロバイダーを新しい認証システムに接続する方法に関するドキュメントは見つかりませんでした。指示や参照を教えてもらえますか?
asp.net-mvc - ASP.NET (OWIN) ID: Web API コントローラーから UserID を取得する方法は?
(VS2013 RTW、ASP.NET MVC5 を使用)
ASP.NET ID を使用するときに、ApplicationUser クラス (およびテーブル) にプロパティを追加する方法に関する多くのドキュメントを見てきました。しかし、外部キーを介して ApplicationUser テーブルにマップされるコンテンツを含む別のテーブルを作成する方法に関するドキュメントは見たことがありません。
独自の Microsoft.AspNet.Identity.EntityFramework.IdentityDbContext の派生に成功し、独自の "UserPreferences" テーブルが SQL Server データベースのさまざまな "AspNet*" テーブルと調和して共存できるようになりました。しかし、「UserPreferences」テーブルに新しい行を書き込むために現在のユーザーの ID を取得する最善の方法については明確ではありません。プロジェクトは ASP.NET MVC ですが、Web API コントローラーを追加しました (そして内部で作業しています)。
私は実用的な解決策を持っています:
AspNetUsers テーブル (Identity フレームワークによって定義されている) は、次のフィールドで構成されていると考えてください。
id フィールド (ユーザー名ではない) は、このテーブルで参照する正しいフィールドだと思います。(ユーザーが自分のユーザー名を変更すると、他の誰かが他のユーザーのユーザー名を引き継ぐ可能性があると考えていました。そのため、両方のフィールドが存在する可能性があります。)したがって、現在のユーザーの ID を取得して、上記のコードが行う「UserPreferences」テーブル。しかし、このルックアップを行わなければならないのは効率が悪いようです。
重要な点は、System.Web.Mvc.Controller のコンテキストでは、次のことができるということです。
しかし、System.Web.Http.ApiController (Web API) のコンテキストでは、そのメソッドが存在しないため (User.Identity のランタイム タイプ: System.Security.Claims.ClaimsIdentity)、代わりに依存する必要があるため、できません。 :
追加のルックアップを実行して、名前を ID に変換します。これを改善する方法について何か提案はありますか? ユーザーデータを別のテーブルに正しい方法で書き込むタスクに取り組んでいますか?
asp.net-web-api - 最初のメッセージを NServiceBus に送信する単純なエンドポイント
文字列を受信して解析し、nservicebus のメッセージを作成できる単純なエンドポイントを作成したいと考えています。私はすでにasp.net webapi、nancy、およびowinを試しました。
ninjectのRegisterServicesメソッドのasp.net web.apiで、これでnservicebusを構成しました
サーバーの起動時にコントローラーから 1 つのメッセージを送信できますが、別のメッセージを送信しようとすると、次の例外がスローされます。
nancy または owin を使用してインターフェイス IWantToRunWhenBusStartsAndStops を実装し、Start メソッドで nancy または owin の自己ホスト型インスタンスを作成します。スムーズに実行され、ブラウザからエンドポイントにアクセスできます。問題は、nancy モジュールまたは owin スタートアップ クラスに IBus プロパティを挿入することです。IBus プロパティは常に null です。
何かご意見は?
ありがとう!