問題タブ [asp.net-web-api2]
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 - How should the Web API access token be stored?
There are some similar topics here in Stackflow but I find none of them has answered my question.
ASP.NET Web API 2 is what we use now. I am now able to accept CORS
authentication request from my WebAPI. With the access token sent along in the Authorization
header (Bearer xxx), I am able to access the resources protected by [Authorize]
tags.
The problem is, how can I implement a function similar to a "Remember me" checkbox in the regular login form? All we want is that the user doesn't need to log in again the next time visiting our webpage. Is the access token for one session only? How does WebAPI2 set the expiration of the token? How Can we save some info in the session or use local storage to store such authentication information? When we store this token in the client side, do we need some sort of encryption to protect it?
What is your suggestion in implementing this "Remember me" function?
xml - 生の XML フィードを使用した Web API コンテンツ ネゴシエーション
Web API サービスを作成して、Web サイトが JavaScript を介して外部 XML フィードにアクセスできるようにしようとしています (同一オリジン ポリシーの問題を回避します)。これらのフィードは、以下に示すように生の XML を返します (Fiddler でキャプチャ)。
リクエスト:
応答:
Web API のコンテンツ ネゴシエーション機能を利用したいと考えています。ただし、応答の生の XML フィードが与えられた場合、コントローラーがどの型を返す必要があるのか わかりません。
いくつかのバリエーションを試しました (ReadAsStringAsync 経由の文字列、LoadXml 経由の XmlDocument、JsonConvert.SerializeXmlNode 経由の文字列など)。これまで試したアプローチはどれも、Accept: application/xml と Accept: application/json リクエストの両方で機能しません。一方の受け入れタイプは機能しますが、もう一方は例外または要求どおりにフォーマットされていない結果を生成します。
私は Web API が初めてです。私が見たものはすべて、データを適切な CLR 型に変換することを示唆しているように見えます。その後、コンテンツ ネゴシエーションが残りを処理する必要があります。この未加工の XML フィードを処理する方法がわかりません。要求に応じて、コントローラーが適切な JSON または適切な XML (元のフィードからの生の XML を本質的に通過する) を返すようにします。
助言がありますか?
c# - DisplayFormatAttribute.ConvertEmptyStringToNull のデフォルトを false に設定
一連の Web サービスを Web API2 に変換しました。ブラウザーが空の文字列を送信し、null に変換されたコードを入力すると、C# コードが爆発します。私はグローバルなソリューションを調査しましたが、どれもうまくいきませんでした。
もちろん、すべての Web API モデルのすべての文字列に対して手動で設定できますが、多数のモデルがあるため、グローバル ソリューションを好むでしょう。
ここにいました: JSONオブジェクトをMVCコントローラーや他のページに渡すときにstring.emptyがnullに変換され、各ソリューションを実装しようとしましたが、役に立ちませんでした。
ConvertEmptyStringToNull のデフォルトを false にグローバルに設定するにはどうすればよいですか?
asp.net-mvc - 別のプロジェクトまたは Web サイトから呼び出されるように webapi2 プロジェクトを保護する
mvc5 と webapi の 2 つのプロジェクトがあります。mvcを使用しているにもかかわらず、純粋なクライアント側の邸宅からAPIを呼び出したいと思っています(アプリケーションのようなスパに古いコードを移行しようとするのが遅くなり、現在のコードベースを維持できます)。
API の URL は subdomain.mydomain.com/api などのメイン ドメインの下にあるため、jsonp やクロスドメインについて心配する必要はありません。
API を保護するにはどうすればよいですか。ユーザーが mvc5 アプリケーションにログインするときに、アクセスできる何らかのキーまたはトークンがあると考えるのは正しいでしょうか。サイトのどこかに保存して、リクエストヘッダーに追加しますか?
このアプローチに従う場合、API 側でトークンを検証するにはどうすればよいですか。ヘッダーを読み取るアクションフィルター? または、よりクリーンな方法があります。
API の使用に関して私が実際に見つけることができる唯一の情報は、基本認証を使用することです。
asp.net-mvc - ajaxでWeb API HttpResponseMessageを受信していませんか?
Web API での最初の試みで、少し混乱しています。
Web API で基本的な削除を設定しました。
jquery ajax経由で呼び出す:
これはうまくいきます... Chrome開発者ツールはStatusCode: 200 User successfully deletedと言っています。
残念ながら、ajax の成功からのアラートは「成功: 未定義: 未定義」と表示されるだけで、Chrome で成功関数を壊すと、応答変数が空白になります。
ajax呼び出しでステータスコード/メッセージを取得して画面に表示するにはどうすればよいですか?
ありがとう
api - Web Api 2、継承Apicontrollerで常にnullを要求する
プロジェクトで Web Api 2 Auth テンプレートを使用しています。クライアントが Api キーでリクエストしたときにユーザー ID を取得したいと考えています。私の質問は:
1 API クライアント ユーザーの ID を取得するにはどうすればよいですか。
- 正しいか間違っているかは、Api 要求を通じて解決されますか?
-または、http ヘッダーの userId を直接取得しますか?
-または、Api キーを使用してデータベースからクエリしますか?
2 ApiController から継承した MyApiController を作成し、クレームを取得したいので、コードを記述します。
MyApiController でクレームが null であることがわかりました。しかし、アクションコントローラーでそれを行うと、うまくいきましたか?