【问题标题】:warden authentication returning 401典狱长身份验证返回 401
【发布时间】:2017-09-05 01:09:24
【问题描述】:

warden.authenticate!(auth_options)

这些参数工作正常:

{"utf8"=>"✓", "authenticity_token"=>"5BMAUoZLUEgPZBVOAcQ8lFD4+pumP9kEvvXyelbnjeO36AZJQt2oRlraicQ6quvh/dccS0ELUkxjACgFcWFYAg==", "用户"=>{"电子邮件"=>"vijay@xyz.com", "密码"=>"xyz", “电话”=>“9443429932”},“动作”=>“创建”,“控制器”=>“会话”, "格式"=>"json", "会话"=>{"user"=>{"email"=>"vijay@xyz.com", "密码"=>"xyz", "电话"=>"9443429932"}}}

但这些都失败了:

{"utf8"=>"✓", "authenticity_token"=>"/ly2phwfsD3HEVkHK39ajYQGv6R4uj2z3B+3eiZEU0qtp7C92IlIM5KvxY0QEY34KSlZdJ+OtvsB6m0FAcKGqw==", "用户"=>{"电话"=>"9443429932", "密码"=>"xyz", "email"=>"vijay@xyz.com"}, "action"=>"create", “控制器”=>“会话”,“格式”=>“json”, "会话"=>{"用户"=>{"电话"=>"9443429932", "密码"=>"xyz", "电子邮件"=>"vijay@xyz.com"}}}

两种情况下的数据都是一样的,只是顺序不同。 坚持了很久。

这是日志:

于 2017 年 4 月 10 日开始为 127.0.0.1 发布“/users/sign_in.json” 10:53:07 +0530 由 SessionsController 处理#create as JSON
参数:{"utf8"=>"✓", "authenticity_token"=>"XVMbYLTgv4eFbv9pX5lJD3U6DHF17o18rVIjqQLo4skOqB17cHZHidDQY+Nk95562BXqoZLaBjRwp/nWJW43KA==", "用户"=>{"电话"=>"9443429932", "密码"=>"[过滤]"}, "会话"=>{"用户"=>{"电话"=>"9443429932", "password"=>"[FILTERED]"}}} 用户负载 (0.3ms) SELECT users.* FROM users WHERE users.id = 12422916 AND(invitation_token 为空) LIMIT 1 Completed 401 Unauthorized in 15ms

【问题讨论】:

    标签: ruby-on-rails authentication devise warden


    【解决方案1】:

    发现问题。 守望者正在从 request.params 读取参数 我已经编辑了参数,但它没有反映在 request.params 中。

    request.params[:user].merge!(params[:user])

    这解决了问题。

    【讨论】:

      猜你喜欢
      • 2019-09-13
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多