当我尝试转到/ oauth / applications
我有404
我看不到路线:
铁路路线| grep oauth
我想拥有200并访问该页面。
我的配置:
# frozen_string_literal: true
Doorkeeper.configure do
# Change the ORM that doorkeeper will use (needs plugins)
orm :active_record
# This block will be called to check whether the resource owner is authenticated or not.
resource_owner_authenticator do
User.find_by(id: session[:current_user_id]) || redirect_to(new_user_session_url)
end
# In this flow, a token is requested in exchange for the resource owner credentials (username and password)
resource_owner_from_credentials do |_routes|
user = User.where(login: params[:username]).first
if user.valid_password?(params[:password])
user
end
end
# Access token expiration time (default 2 hours).
# If you want to disable expiration, set this to nil.
access_token_expires_in 1.day
# implicit and password grant flows have risks that you should understand
# before enabling:
# http://tools.ietf.org/html/rfc6819#section-4.4.2
# http://tools.ietf.org/html/rfc6819#section-4.4.3
#
grant_flows %w(password authorization_code client_credentials)
# grant_flows %w[password]
# Under some circumstances you might want to have applications auto-approved,
# so that the user skips the authorization step.
# For example if dealing with a trusted application.
# skip_authorization do |resource_owner, client|
# client.superapp? or resource_owner.admin?
# end
skip_authorization do
true
end
admin_authenticator do |routes|
User.find_by(id: session[:admin_id], roles: '{100}') || redirect_to(routes.new_user_session_url)
end
# default_scopes :read, :write
# optional_scopes :create, :update
# WWW-Authenticate Realm (default "Doorkeeper").
# realm "Doorkeeper"
end
在我的router.rb文件中:
use_doorkeeper do
# No need to register client application
skip_controllers :applications, :authorized_applications
end
答案 0 :(得分:2)
代替
use_doorkeeper do
# No need to register client application
skip_controllers :applications, :authorized_applications
end
我用过:
use_doorkeeper
我正在跳过应用程序控制器
答案 1 :(得分:2)
您是否将use_doorkeeper
添加到了routes.rb
中?它必须看起来像:
Rails.application.routes.draw do
use_doorkeeper
# your routes
end
这将安装以下路线:
GET /oauth/authorize/native?code
GET /oauth/authorize
POST /oauth/authorize
DELETE /oauth/authorize
POST /oauth/token
POST /oauth/revoke
POST /oauth/introspect
resources /oauth/applications
GET /oauth/authorized_applications
DELETE /oauth/authorized_applications/:id
GET /oauth/token/info
有关路由配置的其他详细信息,您可以在这里找到:https://github.com/doorkeeper-gem/doorkeeper/wiki/Customizing-routes
您可以在official README或Wiki中找到更多信息(在这里您还可以找到一些有关如何安装和配置Doorkeeper gem的外部文章)。
答案 2 :(得分:1)
请在您的route.rb文件中添加以下行
Rails.application.routes.draw do
use_doorkeeper
# your routes
end