鉴于以下各方:ASP.Net MVC 4和基于声明的安全Web客户端之间,ASP.Net的WebAPI
基于浏览器的客户端
ASP.Net MVC 4 Web应用程序
ASP.Net的Web API服务
安全令牌服务(STS),即Thinktecture IdentityServer
(注:Web应用程序和服务的WebAPI住在不同的盒子)
我想获得类似这样的工作流程:
用户导航到WebApp时,应用程序在请求中看不到有效的令牌,并将用户重定向到STS进行验证。用户登录到STS,并在成功验证后重定向回WebApp。 WebApp将看到有效的令牌并授予用户访问权限。用户尝试在WebApp上执行操作,这需要对WebAPI进行服务调用。 WebApp通过服务请求传递用户令牌。 WebAPI服务会查看令牌,禁止访问并返回错误,或代表用户授权请求并返回结果。
此外,我希望客户端能够通过AJAX调用直接向WebAPI服务发起服务调用。
到目前为止,我可以将流程与Web应用程序重定向到STS并返回,但是如何将令牌从Web应用程序传递到Web API服务?
另外,如何让JavaScript客户端在AJAX调用中传递令牌?
或使用cookie。 – flup 2013-02-22 20:16:02
好吧 - 当然没有cookie。各种组件位于不同的盒子上(可能有不同的域名 - 如果不是今天 - 也许明天)。 – leastprivilege 2013-02-23 08:35:21