首页 文章

WebApi - 将远程表单身份验证cookie添加到承载令牌 - 并将令牌提供回Angular客户端

提问于
浏览
0

我有以下站点:asp.net MVC站点与Angular(1) - > WebApi(2) - > asp.net MVC远程站点,混合了WCF和MVC服务(3)

(1)Angular客户端在一个新的“更轻”的asp .net MVC站点中运行,并且应该使用承载令牌从WebApi获取数据 . 未来要求:单点登录

(2)WebApi将是未来的终点 . 但截至目前,来自旧网站(3)的繁重后端需要临时解决方案 . 繁重的后端将逐渐转移到WebApi,省略诸如silverlight组件,Windows应用程序依赖等等.WebApi也是一个新的设置,但通过/ token endpoints 提供令牌 . 我按照本指南:http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

(3)远程asp.net MVC站点包含一堆WCF服务和一些作为api的MVC控制器 . WCF服务允许使用WebInvoke的HTTP json等 . 它需要会话和表单身份验证 . 它以cookie响应 .

我的问题是 . 如何在WebApi控制器操作方法中使用HttpClient将WebApi用作新MVC站点(1)和旧MVC站点(3)之间的中间层?我假设我需要从旧网站(3)中获取cookie,将其作为自定义属性或声明添加到令牌中 . 将令牌返回到新站点(1),让Angular将令牌保存到浏览器中的本地存储 . 然后,Angular会在每次请求授权时向WebApi(2)发送令牌 . 然后,WebApi控制器操作方法(2)将从令牌(cookie)中打开自定义数据,并在请求时将其发送到旧站点(3) .

1 回答

  • 0

    我认为一个网站的cookie不能在其他网站上消费 . 如果您有权访问site3用户数据库:1 - 在site1中有一个令牌 endpoints ,用于验证用户并返回令牌 . 2 - 从site1(客户端)调用令牌 endpoints 并获取令牌 . 3 - 使用Authorization Bearer标头向任何请求添加令牌 . 希望这有帮助

相关问题