【问题标题】:ValidateAntiForgeryToken for client that only uses REST API仅使用 REST API 的客户端的 ValidateAntiForgeryToken
【发布时间】:2012-12-11 02:32:48
【问题描述】:

据我了解,防伪令牌概念是作为 html 的一部分发送的(例如在隐藏的表单字段中),但如果移动客户端应用程序想要使用 API 登录和注册等...?我不知道该怎么做,我要完全禁用伪造令牌吗?保留它会很好,因为它也是一个使用 API 的网站。

具体来说,我使用的是 MVC 4,我正在查看默认模板附带的 AccountController...它在 Login 上有一个 ValidateAntiForgeryToken 属性...?是否假定您将始终通过 html 网页表单登录?

【问题讨论】:

    标签: asp.net-mvc-4 security


    【解决方案1】:

    防伪令牌的概念是嵌入一个隐藏字段,其值由框架生成(用于 POST 请求)或附加到 url 地址(GET 请求)。然后在服务器端验证该值。

    默认模板假定您将通过 html 网页登录。如果你想创建一个使用 API 的应用程序,你必须设置自己的授权机制。如果您的应用在其移动版本中使用您的在线网站,则您无需进行任何更改。

    【讨论】:

    • 好的。我希望有一些方法可以为浏览器客户端保留防伪令牌,同时为应用程序客户端提供其他东西。也许是一个 API 来获取应用程序的伪造令牌,因此它可以在后续调用登录等时使用它......主要思想是 Web 客户端使用与应用程序客户端相同的 API,并且 API 仍然始终检查 Web 的请求令牌客户。
    猜你喜欢
    • 2020-12-20
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2020-10-21
    • 2017-05-07
    • 2018-09-06
    相关资源
    最近更新 更多