我有一个 ruby on Rails 应用程序运行用于身份验证的设备,并且仅当使用除 Firefox 之外的任何浏览器时,此身份验证在本地和我的新暂存环境中都可以正常工作。在 Firefox 上,仅使用以下凭据,这在 Firefox 桌面版和 Firefox 移动版最新版本上都会发生。
[email protected]
password
设计版本 - 4.9.3
返回的消息只是“无效的电子邮件或密码”,这里是日志。
I, [2024-05-10T23:12:19.920101 #8090] INFO -- : [6517e003-c130-437c-8839-eac296eeaa11] Completed 401 Unauthorized in 22ms (ActiveRecord: 17.1ms)
I, [2024-05-10T23:12:19.922483 #8090] INFO -- : [6517e003-c130-437c-8839-eac296eeaa11] Processing by Devise::SessionsController#new as HTML
I, [2024-05-10T23:12:19.922636 #8090] INFO -- : [6517e003-c130-437c-8839-eac296eeaa11] Parameters: {"utf8"=>"✓", "authenticity_token"=>"do1eI5ezTWhk1CVF8WcG1NXwDZnBA4KPlvjUYHsrI2MI3iu2Olrk+Wyl05JvHk36vVVoipxi2iO15q9Q8lF5nQ==", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Log in"}
I, [2024-05-10T23:12:20.335721 #8090] INFO -- : [6517e003-c130-437c-8839-eac296eeaa11] Rendering users/sessions/new.html.erb within layouts/application
I, [2024-05-10T23:12:20.351718 #8090] INFO -- : [6517e003-c130-437c-8839-eac296eeaa11] Rendered users/sessions/new.html.erb within layouts/application (4.0ms)
I, [2024-05-10T23:12:20.353235 #8090] INFO -- : [6517e003-c130-437c-8839-eac296eeaa11] Rendered layouts/_rails_default.html.erb (0.9ms)
I, [2024-05-10T23:12:20.353599 #8090] INFO -- : [6517e003-c130-437c-8839-eac296eeaa11] Rendered layouts/_shim.html.erb (0.1ms)
I, [2024-05-10T23:12:20.355536 #8090] INFO -- : [6517e003-c130-437c-8839-eac296eeaa11] Rendered layouts/_header.html.erb (1.5ms)
I, [2024-05-10T23:12:20.356088 #8090] INFO -- : [6517e003-c130-437c-8839-eac296eeaa11] Rendered layouts/_footer.html.erb (0.2ms)
I, [2024-05-10T23:12:20.359039 #8090] INFO -- : [6517e003-c130-437c-8839-eac296eeaa11] Completed 200 OK in 436ms (Views: 23.7ms | ActiveRecord: 0.0ms)
这是表格的样子
<% provide(:title, "Log in") %>
<div class="login-container">
<div class="content">
<div class="col-sm-4 col-sm-offset-4">
<h1 class="page-header center">User Login</h1>
<div class="login_box">
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div class="form-group">
<%= f.label :email %> <%= f.email_field :email, class: 'form-control'
%>
<i class="fa fa-user"></i>
</div>
<div class="form-group">
<%= f.label :password %> <%= f.password_field :password, class:
'form-control' %>
<i class="fa fa-lock"></i>
</div>
<div class="form-group">
<%= f.label :remember_me do %> <%= f.check_box :remember_me %>
Remember Me <% end %>
</div>
<br />
<div class="form-group"><%= f.submit "Log in", class: "btn" %></div>
<% end %>
<%= link_to "Forgot your password?", new_user_password_path %>
</div>
</div>
</div>
</div>
这很奇怪。
这就是会话控制器中参数的样子
<ActionController::Parameters {"utf8"=>"✓", "authenticity_token"=>"CPh0uGMCyScGkJVX/84AIByzL4lIMNZH71KtZFA/+GvhqOMV9+8Ccy7+WLtDi+oq9AJxwogKXe/e2f9Nr4jeZg==", "user"=>{"email"=>"[email protected]", "password"=>"password", "remember_me"=>"0"}, "commit"=>"Log in", "controller"=>"sessions", "action"=>"create"} permitted: false>
我已经解决了这个问题,结果是用户错误。我不确定为什么我能够在其他浏览器上登录,但 firefox 消息是正确的。我的种子文件中的电子邮件地址有一个拼写错误,我错过了。