問題タブ [webapi2]

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

asp.net - web api 2 owin bearer token JwtFormat 、複数のログイン (OAuthAuthorizationServerProvider および外部) に対して同じトークンを返す方法

複数のプラットフォーム (モバイル、ウェブなど) のトークンを返す認証サーバーがあり、このトークンを使用して API へのリクエストを実行できます。このようなもの: http://bitoftech.net/2014/10/27/json-web-token-asp-net-web-api-2-jwt-owin-authorization-server/

ここで、外部ログイン (facebook、google、twitter) を追加する必要があります。

このガイドのように実装しました: http://www.asp.net/web-api/overview/security/external-authentication-services

私が理解していないのは、通常の認証で返すのと同じトークンを返す方法です (後で API を要求できるようにするため)。

私のAPIはカスタムjwtトークンしか知りません。

GetExternalLogin 関数から手動で行う必要がありますか?

はいの場合、私はこのようなことをしました:

var ticket = new AuthenticationTicket(identity, props); var accessToken = Startup.OAuthOptions.AccessTokenFormat.Protect(チケット);

そして今、私は知る必要があります。通常の認証では自動的に入力されます 2) クライアントに返す方法は?

最後にアカウントコントローラーで私がする必要があるのを見ました:Authentication.SignIn(identity);

そしてプロバイダ内: context.Validated(ticket);

多分私はアカウントコントローラーで同じことをすることができますか?

ありがとう。

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

c# - 画像ファイルのアップロード中に MIME マルチパート ボディ パーツを出力ストリームに書き込む際にエラーが発生しました

このリンクに従って、webapi2 を使用して mvc ビューからサーバーにファイルをアップロードしています

http://www.strathweb.com/2012/08/a-guide-to-asynchronous-file-uploads-in-asp-net-web-api-rtm/

しかし、私は毎回このエラーが発生しています

「出力ストリームへの MIME マルチパート ボディ パーツの書き込みエラー」

0 投票する
2 に答える
1124 参照

c# - Web API 2 - PUT でメソッドが許可されるようになりました (405)

メソッドを呼び出す Web API 2 コントローラーに行き詰まってPUTいますが、メソッドが許可されていないというエラーが表示されます。Web.configWebDAV がメソッドをブロックしないようにするコード行を追加しました。私はすべてを試しましたが、うまくいきません。おそらくPUT、コントローラーの私のメソッドに問題があります。

これが私のコントローラーコードです:

これは、 put を呼び出すコードです。

このコードの前に、クライアントを http として定義し、必要なプロパティを追加し、他のコントローラー メソッド (GET、POST、DELETE) を呼び出しましたが、それらはすべて機能します。これは Windows フォーム アプリからのもので、Postman からも呼び出していますが、同じエラーが発生します。

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

asp.net - Web API 2 ベアラー トークンを使用してトークン内のクレーム/ロールを検証する

特定のユーザーが特定のメソッドに引き続きアクセスできるように、ベアラー トークンのクレームが各 API 呼び出しで最新であることを確認したいと思います。

たとえば[Authorize(Roles = "admin")]、トークンが発行されたときにユーザーが管理者だった場合ではなく、呼び出しが実行されたときにユーザーが管理者であることを確認したい で装飾されたメソッドの場合。

周りを見回した後、アクションが装飾されているかどうかpublic class VerifyTokenAttribute : System.Web.Http.AuthorizeAttributeをグローバルに適用し、内部OnAuthorizationチェックを作成する予定です。装飾されてAuthorizeいる場合は、データベースからユーザー情報を取得し、ロールが一致することを確認します。

より良い方法はありますか?

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

asp.net - Asp.net WebApi2 - スクレイピングを避け、ブラウザ経由の直接アクセスを避け、ドメインからの ajax 呼び出しのみを許可する

webapi2 は初めてですが、単純な WebApi2 プロジェクトを実装しました。これは、サード パーティの Web サービス (資格情報で呼び出されます) から一部のデータのロックを解除します。

これは問題なく動作しますが、webapi からのコンテンツのスクレイピングを回避する方法を探しています。これは機密データではありませんが、競合他社にとっては有益です。

ユーザーにログインさせることはできませんが、誰かが Web サービスからコンテンツをスクレイピングするのを難しくする方法を探しています。データは私たちの Web サイトから自由に入手できるので、100% 安全にすることはできないことは理解していますが、それをより難しくするために何かできることがあるはずです (そして、人々が以前に反論した問題のように思えますが、見つけられないようですいくつかの明確な情報)

私はCORSを調べましたが、他のドメインからのリクエストを許可するために、逆に調整されているようです。

バックエンドで秘密鍵を使用し、datettime とヘッダー情報でハッシュし、javascript にそれを ajax 呼び出しに追加させ、トークンが有効かどうか webapi メソッドをチェックインさせますか?

編集

トークン認証で悪用を止める簡単な (そしてクリーンな) 方法はないように思われるため、IP スロットリングを使用することにしました。理想的ではありませんが、役立ちます:

このライブラリを使用しましたが、うまく機能します: https://github.com/stefanprodan/WebApiThrottle