2

我在设置门卫以使用 Sorcery 进行身份验证时遇到问题。

Sorcery 通过控制器提供了登录方法,但是在 Doorkeeper.rb 文件中使用它不起作用。

门卫.rb

Doorkeeper.configure do
  ...
  resource_owner_from_credentials do |routes|
    login(params[:username], params[:password])
  end

给出这个结果:

NoMethodError (undefined method `login' for #<Doorkeeper::TokensController:0x0000000209ee38>):

我怎样才能做到这一点?

4

1 回答 1

1

github上的Anthonator在这里回答了我的问题,但为了后代,这就是他所说的。

这就是我在 initializers/doorkeeper.rb 中的内容

resource_owner_from_credentials do |routes|
  User.authenticate(params[:username], params[:password])
end

我也有这是我的 API 控制器

private
def current_user
  @current_user ||= User.find_by_id(doorkeeper_token.resource_owner_id) if doorkeeper_token
end
于 2013-07-25T19:05:02.117 回答