3

Microsoft MVC4 Web Api を使用して作成され、WS-Fed を使用して WIF と Windows Azure Active Directory (WAAD) を使用して保護された多数の Web サービスがあります。

これらの Web API にアクセスする必要がある純粋な HTML5/Javascript シングル ページ アプリケーション (SPA) クライアントもあります。

WAAD とのやり取りを処理するための Javascript の既知のサンプル/ライブラリはありますか?

  • ユーザーがすでにログインしているかどうかを確認します。
  • ユーザーにログインし、必要に応じてセキュリティ トークンを取得します
  • 対話が終了したらログアウトします。

そうでない場合、そのようなものを実装するために必要なドキュメントへの推奨リンクはありますか。

4

1 に答える 1

3

ページ (SPA) は、API がホストされているのと同じサーバーから来ていますか? (同じドメイン?)その場合、すべてが「うまくいく」はずです。

WAAD は、ユーザーがログオンしているかどうかを知ることには関与しません。それは一般的にあなたのサイト次第です。ただし、トークンの有効期限は一定の役割を果たします。提供されたトークンが API によって拒否された場合は、通常どおりユーザーを再認証する必要があります。

API が別のサイトにあるが、同じ高レベル ドメイン (app.yoursite.com と api.yoursite.com) にある場合でも、Cookie を設定し、その下で WIF を使用できます。両方のサイトで同じマシン キーを設定してください。

API がまったく別のドメインにある場合は、別のアプローチを使用する必要があります。その場合の私の推奨事項は、通常、Json Web Tokens (JWT) と CORS を使用することです。

WAAD インスタンスで ACS 名前空間を構成すると、WAAD は JWT を提供できると思います。JWT を使用して WebAPI を保護するプロセスについて説明しているこのドキュメントを参照してください (WAAD に固有のものではありませんが、仕組みは同じです)。

于 2013-04-26T15:29:20.690 に答える