【问题标题】:InvalidAuthenticityToken error when using token based authentication in devise在设计中使用基于令牌的身份验证时出现 InvalidAuthenticityToken 错误
【发布时间】:2011-09-10 13:42:24
【问题描述】:

我已在我的 rails 应用程序的设计中启用基于令牌的身份验证 (token_authenticable),它运行良好。现在我正在制作一个使用这个 rails 应用程序提供的 web 服务的 android 应用程序。它在第一次登录后存储设计的 auth_token 并使用它来发出后续请求,以便用户以后不必登录。问题是当我从 android 应用程序调用更新操作时出现 InvalidAuthenticityToken 错误。我不想额外调用服务器来获取真实性令牌或从更新操作中删除protect_from_forgery。有什么建议吗?

【问题讨论】:

    标签: ruby-on-rails devise auth-token


    【解决方案1】:

    研究使用无状态令牌。它们应该正是您所需要的。 Devise and Stateless tokens in Rails

    【讨论】:

    • 试过了,但对我没用。但我只是通过使用 content-type 标头到 application/json 并传递一个 json 正文解决了这个问题。
    • 嗯,所以现在所有的 JSON 都是未经身份验证的?
    • 原来由于浏览器不能使用content-type json,所以不存在CSRF攻击的风险。所以 rails 不会对请求进行真实性令牌验证。
    • 我可以伪造内容标题,只是说。 addons.mozilla.org/en-us/firefox/addon/modify-headers
    • 是的,但实际上攻击者不可能在用户的浏览器中伪造内容标题。
    猜你喜欢
    • 2015-07-02
    • 2016-11-07
    • 1970-01-01
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 2016-01-29
    相关资源
    最近更新 更多