我们有一个ASP MVC Web应用程序,我们还有一个WebAPI 2项目,用于公开将从未知客户端执行的操作,可能是桌面应用程序,Java网站或其他任何内容。
在网络应用中,我们已经实施了防伪令牌,我们也想在网络API中执行此操作。
通过互联网阅读,据说为了在web api中实现反csrf令牌,我们必须在header / cookie中设置两个令牌,在隐藏字段中设置另一个令牌。
如果我们在web api项目中添加一个视图并使用
@Html.AntiForgeryToken()
在表单中提交帖子,我们可以用
验证请求AntiForgery.Validate();
没关系,工作正常,我无法理解的是,例如桌面应用会如何为我们的网络API生成有效请求?
我们是否需要在生成此标记的api中公开和操作令牌,然后客户端会将请求设置为他刚要求的令牌?
对不起我的英文,非常感谢!