鉴于以下各方:
基于浏览器的客户端
ASP.Net MVC 4 Web 应用程序
ASP.Net Web API 服务
Security Token Service (STS) 即 Thinktecture IdentityServer
(注意:Web 应用程序和 WebAPI 服务位于不同的盒子上)
我想得到一个类似于这个工作的流程:
用户导航到 WebApp,应用程序在请求中看不到有效令牌,并重定向用户以通过 STS 进行身份验证。用户登录到 STS 并在成功验证后重定向回 WebApp。WebApp 看到有效的令牌并授予用户访问权限。用户尝试在 WebApp 上执行需要对 WebAPI 进行服务调用的操作。WebApp 在服务请求中传递用户令牌。WebAPI 服务看到令牌,禁止访问并返回错误,或代表用户授权请求并返回结果。
此外,我希望客户端能够通过 AJAX 调用直接对 WebAPI 服务进行服务调用。
到目前为止,我可以使用 Web 应用程序重定向到 STS 并返回,但是如何将令牌从 Web 应用程序传递到 Web API 服务?
另外,如何让 JavaScript 客户端在 AJAX 调用中传递令牌?