問題タブ [asp.net-identity]
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 - Web API の ASP.NET ID
認証に新しい ASP.NET ID を使用する単純なアプリケーションに取り組んでいます。将来的にはモバイル アプリを用意する予定なので、Razor Web ページ (MVC やフォームなし) から jQuery から投稿する Web API に認証を配置しました。これまでのところ、投稿は正常に機能し、ユーザーを作成してログインします-API側で。
ただし、そこから先に進む方法を決定することはできません。適切なページを提供できるように IsAuthenticated を設定する必要がありますが、常に false が返されます。Identity は非常に新しいため、利用できるドキュメントはほとんどなく、Web API から実行するほど複雑なものを見つけることができません。
Q: ログイン後に Web API の ID 認証から正しく設定されるように戻す正しい方法は何User.Identity.IsAuthenticated
ですか?
ログイン.cshtml
ログイン Web API
asp.net-mvc-5 - asp.net ID で現在のユーザーの UserName を変更した後に認証 Cookie を変更する方法
Entity Framework 6.0.0-rc1 (Visual Studio 2013 RC に付属するもの) で asp.net ID バージョン 1.0.0-rc1 を使用する。
ユーザーに変更する機会を与えようとしていますUserName
。の下にはそのための機能がないようなAuthenticationIdentityManager
ので、EFを使用してデータを変更します(現在のユーザーのUserオブジェクトを取得し、UserNameを変更して変更を保存します)。
問題は、認証 Cookie が変更されないままであり、そのようなユーザーが存在しないため、次の要求が失敗することです。
過去のフォーム認証では、次のコードを使用してこれを解決しました。
Cookie を更新するには、asp.net ID をどうすればよいですか?
アップデート
次のコードは、認証 Cookie を更新するようです。
IsPersistent
残りの問題は、現在の認証 Cookie から値を抽出する方法です。
asp.net-mvc-5 - トランザクションでasp.net ID関数を実行するための推奨される方法は何ですか?
asp.net ID RTW バージョンを使用します。
UserMananger
関数呼び出しとその他の操作の両方を含む、トランザクションでいくつかのアクションを実行する必要がありますDbContext
(例: 新しいユーザーを作成し、グループに追加し、いくつかのビジネス ロジック操作を実行します)。
どうすればいいですか?
私の考えは続きます。
トランザクションスコープ
問題はUserManager
、関数がすべて非同期であり、TransactionScope
async/await で動作するように設計されていないことです。.Net Framework 4.5.1 で解決されたようです。しかし、Azure Web サイトを使用してプロジェクト ビルドをホストしているため、まだ 4.5.1 をターゲットにすることはできません。
データベース トランザクション
それはうまくいくようですが、どうすればユニットテストできますか?
UserManager<>
コンストラクターは を受け入れるIUserStore<>
ので、簡単にスタブできます。
UserStore<>
コンストラクターは を受け入れますDbContext
が、これをスタブする方法がわかりません。
c# - ASP.NET ID 外部ログイン - API 呼び出し用の Google トークンを取得するには?
新しい ASP.NET Identity ログイン システムを試し、Google を外部ログイン プロバイダーとして追加しました。
ログインは正常に機能しますが、次のような API 呼び出しの認証トークンが見つかりません
json = new WebClient().DownloadString(" https://www.googleapis.com/plus/v1/people/me?access_token= " + accessToken);
ログイン後に返される唯一の情報は、姓、名、電子メールです。結果のどこにトークンが隠されているか教えてもらえますか?
または、「app.UseGoogleAuthentication()」が設定されている Startup.Auth.cs にオプトインを設定する必要がありますか?
entity-framework - Azure Table Storage を使用したコード ファーストと ID
私は小さな Web アプリに取り組んでおり、データベースの決定を開始する必要がある開発のポイントに到達しました。私の当初の計画は、Azure 上の MSSQL で EF Code First を使用することでした。しかし、Azure でのデータベース ホスティング機能を調べているときに、NoSQL の世界を開いた Azure Table Storage を発見しました。
インターネットでは NoSQL の機能についての話題が盛り上がっていますが、私が収集した最大の理由の 1 つは、NoSQL がデータをさまざまなテーブルに分割することなく、オブジェクト全体をデータベースに 1 つとして格納するため、パフォーマンスが向上することです。これは魅力的に聞こえますが、EF Code First は、開発者がクエリについて心配する必要なく、オブジェクトを自動的にまとめて SQL データベースに分割することにより、この問題を効果的に排除しました。
ただし、私の主な問題は、NoSQL データベースで EF Code First や ASP.NET Identity などを使用するためのドキュメントが見つからないことです。私のアプリは現在 Identity を使用しているため、他のアプリに切り替える必要はありません。
Q: Azure Tables で Code First や Identity を使用することはできますか?
編集: 私のアプリについて少し極端に単純化すると、私のアプリでは、事前構成されたタイプのデータを組み合わせて一致させることにより、ユーザーがカスタム プロファイルを作成できます。たとえば、ユーザーは自分のプロファイルに任意の数の Quote オブジェクトを追加してから、引用の値を定義できます (つまり、「自分らしく。他のすべての人は既に使用されています。」)。または、Movie オブジェクトを使用して、お気に入りの映画のコレクションを定義することもできます (つまり、"タイトル: インセプション、年: 2010")。平均して、ユーザーは自分のページに 50 以上のそのようなプロパティを持つことができます。持つことができるプロパティの数に制限はありません。
この例を使用すると、Code First を使用して実装する方法を簡単に確認できます (Profile には Quote オブジェクトのリストと Movie オブジェクトのリストがあります)。これが Azure Tables などの NoSQL データベースにどのようにマップされるかはまだわかりません。そのため、私のアプリのニーズでは、Code First から NoSQL に切り替えることが、失われる機能と機能を考慮して合理的な決定であるかどうかはわかりません。
asp.net-mvc - ユーザー登録からクライアント ブラウザに MVC エラー メッセージを返すにはどうすればよいですか
MVC5 アプリケーションで ID 管理に MVC5 を使用しています。コードは機能していますが、ユーザーが登録しようとして同じパスワードと確認パスワードを使用しないと問題が発生します。これにはフロントエンドチェックを使用していないため、登録データはサーバーに送信されます。サーバーでモデル エラーが発生し、ModelState.IsValid が false を返します。
これが私のコントローラーメソッドです。ModelState の値を確認すると、次のエラーが表示されます。
私のHTML:
エラーは次のとおりです。
このメッセージをフォームに返してユーザーが見ることができるようにするにはどうすればよいですか?
次の場所に表示されるはずです。
しかし、これはどのように起こるのでしょうか?
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 で構成する必要があります。)
助けてくれてありがとう...
-ベン