我无法为在/oauth/applications中创建的应用程序生成访问 token

我已经完成了Doorkeeper初始化程序文件中的以下更改

doorkeeper.rb

resource_owner_authenticator do
    User.find_by_id(session[:user_id]) || redirect_to(new_user_session_url)
  end

当我尝试从/oauth/applications授权应用程序时,出现以下错误
Started GET "/oauth/authorize?client_id=87122ba040e56b44477a69b189ad809bf663c374f8cc513dd55bff81c07f030b&redirect_uri=http%3A%2F%2Flocalhost%3A3001%2Fauth%2Fapi_provider%2Fcallback&response_type=code&scope=" for 127.0.0.1 at 2017-01-12 12:04:52 +0530
Processing by Doorkeeper::AuthorizationsController#new as HTML
  Parameters: {"client_id"=>"87122ba040e56b44477a69b189ad809bf663c374f8cc513dd55bff81c07f030b", "redirect_uri"=>"http://localhost:3001/auth/api_provider/callback", "response_type"=>"code", "scope"=>""}
  User Load (0.3ms)  SELECT  "users".* FROM "users" WHERE "users"."id" IS NULL LIMIT 1
Redirected to http://localhost:3000/users/sign_in
Filter chain halted as :authenticate_resource_owner! rendered or redirected
Completed 302 Found in 2ms (ActiveRecord: 0.3ms)


Started GET "/users/sign_in" for 127.0.0.1 at 2017-01-12 12:04:52 +0530
Processing by Devise::SessionsController#new as HTML
  User Load (0.1ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = ?  ORDER BY "users"."id" ASC LIMIT 1  [["id", 1]]
Redirected to http://localhost:3000/
Filter chain halted as :require_no_authentication rendered or redirected
Completed 302 Found in 2ms (ActiveRecord: 0.1ms)


Started GET "/" for 127.0.0.1 at 2017-01-12 12:04:52 +0530
Processing by PagesController#index as HTML
  Rendered pages/index.html.erb within layouts/application (0.0ms)
  User Load (0.1ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = ?  ORDER BY "users"."id" ASC LIMIT 1  [["id", 1]]
  Rendered layouts/_navbar.html.erb (1.2ms)
Completed 200 OK in 136ms (Views: 135.0ms | ActiveRecord: 0.1ms)

我想生成身份验证 token 以授权应用程序对我的应用程序使用api调用

尝试按照Doorkeeper上的railscast情节

这是我的application

最佳答案

应使用下面的代码块替换resource_owner_authenticator,以为您的客户端应用生成身份验证信息

resource_owner_authenticator do |routes|
 current_user || warden.authenticate!(:scope => :user)
end

关于ruby-on-rails-4 - Devise + activeadmin + doorkeeper-过滤器链停止为:require_no_authentication rendered or redirected,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41606690/

10-13 09:05