AngularJSをフロントエンドに使用するAsp.Net MVC 5.0プロジェクトがあります。プロジェクトには同じプロジェクト内にWebAPIコントローラがあり、同じWebサイトに展開されています。アプリケーションは個々のユーザーアカウントプロジェクトテンプレートで構築され、Asp.Net IDとクレームを使用します。 webapiとng-file-uploadプラグインを経由して100MB以上のファイルをアップロードするファイルアップロードモジュールがあります。ユーザーベースが増加したため、新しいサーバーでAPIを単独のサイトに分離し、必要に応じて拡張することで、アップロード速度をすばやく向上させたいと考えました。 APIコントローラは現在OWINクッキー認証を使用するASP.Net MVCソリューションの下にあるため、APIはクッキー認証ミドルウェアによって認可されています。 APIを別のサイトにすばやく取得する方法を教えてください。私は、MVCサイトに基づいてOAUTHトークンを実装し、CORSを有効にしてトークンを消費する新しいAPIサイトを作成する必要があると考えています。これを行うと、Cookieベースの認証を削除し、新しいトークンベースの認証を使用して認証を再実装する必要があるかどうかはわかりません。 Asp.Net MVCサイトに対してCookieベースの認証を使用し、apiを新しいサイトに分離することで、ここで取り上げることができる他のアプローチはありますか?Asp.Netから別のサイトにAsp.Net WebAPIを移動AngularJS AppのMVCサイト
注 - このAPIを使用してモバイルアプリを構築する予定であるため、webapiを別のサイトに分けてOAuthトークンベースの認証を取得する必要があると考えています。
ありがとうございます!
よろしく、 バラ
MVCサイトはハイブリッドで、一部のモジュールでバックエンドC#コードを持ち、一部のモジュールでAngularJSを使用します。それはなぜそれがクッキー認証を使用し、APIがクッキー認証が行われた後にアクセスされる同じサイトの下にあるのでです。したがって、MVCサイトでOAuthトークン認証を有効にし、APIを別のサーバーの新しいドメインに分けても、トークンを送信できるのでしょうか?もしそうなら、MVCサイトからのクッキー認証の後にトークンを取得して新しいAPIサイトに送ることができますか?すべてのポインタ? – Bala
同じ親ドメイン上の2つのドメイン間で共有されるCookieの使用。このためにoAuthを使う必要さえないかもしれません。 apiとmvcの両方で同じマシンキーを使うだけで、mvcで暗号化されたcookieをapiで復号化することができます。私は個人的には間違った方向に向かってこのソリューションを推奨しませんが、それは仕事を完了させるでしょう。 oAuthを必要とせずに、通常のcookie認証は両方で動作します。 (マシンキーとドメインを共有する必要があります) – Axr
mvcサイト(parentsite.com)とapiが別のサーバーのapi.parentsite.comで、同じマシンキーを使用すると同じことが起こるのでしょうか?セッションはどうですか?それは右のAPIサーバーで利用できないのですか? apiサーバーで同じCookieがどのように認証されますか? – Bala