web-dev-qa-db-ja.com

AngularJSとWeb Apiアプリケーションを保護する方法

ASP.NET Web Apiサーバー側でAngularJSを使用しています。認証が簡単になったように思えますか?それとも、これは本当であるにはあまりにも良いですか?

したがって、私はWeb Apiの「個人ユーザーアカウント」認証を使用することを考えています。そして、私はそれが私が必要とするすべてであると考えています。すべてのリクエストが認証され、誰もデータを取得できない限り、それ以上のことをする必要はありませんか?

または、いくつかの重要なセキュリティの基礎が欠けていますか?

23
Shumii

APIの保護に関しては、主に2つのアプローチがあります

  1. Cookieベースのアプローチ。これは、標準的なフォームを使用してユーザーを認証し、フォーム認証Cookieを設定する従来の方法です。すべての不正な要求は、ユーザーをログインページに移動させます。 APIが常にUIフロントエンドでサポートされており、このメソッドにログインして作業する場合。
  2. 2つ目は、リクエストのヘッダーで認証トークンを使用することです。ユーザーが認証されると、ユーザーは認証トークンを取得します。このトークンは、Authorize HTTPヘッダーの後続のすべてのリクエストに添付する必要があります。詳細については、こちらをご覧ください ASP.NET Web APIの個人アカウント ここでの利点は、ログインページを必要とせずにAPIを公開できることです。

ただし、2番目のアプローチを使用する場合は、後続のすべてのリクエストでこのトークンが必要になるため、認証トークンをクライアント側に保存する必要があります。このブログ投稿をご覧ください CookiesとTokens。Angular.JSで正しく認証を取得する トークンの操作方法を理解してください。

それが役に立てば幸い。

16
Chandermani

Angular JSとWebAPI 2.0トークンベースの認証の使用に関する素晴らしい記事です。

http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

9
Hades