我一直在尝试使用JWT和Knock使用Rails API建立基本的身份验证系统,但是我遵循的每个教程都会导致相同的错误:
将{"auth":{"email": "foo@bar.com", "password": "secret", "password_confirmation": "secret"}}
发布到http://localhost:3000/user_token
结果
500内部服务器错误
NoMethodError(#<字符串:...>的未定义方法'permit')
有人可以帮助我吗?这是我在http://www.dailysmarty.com/posts/how-to-use-jwt-authentication-in-a-rails-5-api-app上的教程代码,但我也尝试过其他代码,无法获取任何令牌。我觉得我想念一些真正愚蠢的东西,但是我不能指责它。
controllers / application_controller.rb
class ApplicationController < ActionController::API
include Knock::Authenticable
end
controllers / user_token_controller.rb
class UserTokenController < Knock::AuthTokenController
skip_before_action :verify_authenticity_token #removes a 422 error
end
controllers / users_controller.rb
class UsersController < ApplicationController
before_action :authenticate_user
end
models / user.rb
class User < ApplicationRecord
has_secure_password
end