如何使用门卫gem成功完成注册后验证用户

时间:2015-08-10 13:51:43

标签: ruby-on-rails ruby-on-rails-4 doorkeeper sorcery

我正在使用doorkeeper gem的项目。 我已成功设置一切。 现在我想做的是在注册成功后登录用户。我使用sorcery gem进行身份验证。

我的注册过程工作正常,我从门卫那里得到access_token

但我无法使用doorkeeper gem登录用户。

这是我的users_controller.rb

 def create
  profile = Profile.new(params.permit(:birth_date, :phone_number))
  user = profile.build_user(params.permit(:first_name, :last_name, :email, :password))

  if profile.save
    @access_token = Doorkeeper::AccessToken.create!(
      resource_owner_id: user.id,
      application_id: doorkeeper_token.application_id,
      use_refresh_token: Doorkeeper.configuration.refresh_token_enabled?,
      expires_in: Doorkeeper.configuration.access_token_expires_in
    )
    #This line is for authentication provided by sorcery gem
    @user = User.authenticate( params[:email], params[:password])
  else
    error!(:unprocessable_entity, metadata: { details: profile.errors })
  end
end

我尝试在我的users_controller.rb上使用门卫提供的resource_owner_from_credentials方法进行登录,但我仍然失败如下:

Doorkeeper.resource_owner_from_credentials do
  User.authenticate(params[:email], params[:password])
end

可以告诉我如何在成功注册门卫和巫术宝石后登录用户。

非常感谢你。

0 个答案:

没有答案