我有一个正在运行的自托管 Web API,它使用 DotNetOpenAuth 来发布授权令牌。基本上,该项目由 2 个 ApiController 端点(授权和令牌)组成。我想强制客户端必须先登录表单,然后才能调用任一端点。(我猜是表单身份验证)。但是,它似乎不适用于自托管的 Web API 项目,因此,我正在尝试自己实现一些东西。
截至目前,当用户调用 Authorize web get 方法时,我呈现登录页面并强制他们登录。但是,我希望有一种机制,这样一旦用户登录,我就可以发送一个 cookie 响应。我了解,如果您在响应中写入 cookie,浏览器将在后续请求时自动发送任何相关 cookie。
但是,我的测试客户端使用 HttpWebRequest 来调用我的 web api。我是否必须建立机制将响应 cookie 保存到硬盘上的文件中,然后将其读回,并在后续请求中与 HttpWebRequest 关联?或者,框架中是否有一些我可以利用的东西(就像浏览器会自动为我处理这个问题一样)。
我想一旦我弄清楚这部分,我就可以扩展 AuthorizationFilterAttribute,并使用它来检查传入 cookie 的有效性。
谢谢。任何帮助或建议表示赞赏!