Ruby on rails 如何为门卫指定superapp的列表';s跳过授权块?
我想和看门人谈谈我们的rails APIRuby on rails 如何为门卫指定superapp的列表';s跳过授权块?,ruby-on-rails,ruby,ruby-on-rails-4,oauth-2.0,doorkeeper,Ruby On Rails,Ruby,Ruby On Rails 4,Oauth 2.0,Doorkeeper,我想和看门人谈谈我们的rails API # Skip Authorization for trusted clients Doorkeeper.configure skip_authorization do |resource_owner, client| client.superapp? || resource_owner.admin? end end 据介绍,这是一个应用程序理解的概念 是否应使用客户机id白名单进行此操作? 如何指定superapp的列表? 提前谢谢 S
# Skip Authorization for trusted clients
Doorkeeper.configure
skip_authorization do |resource_owner, client|
client.superapp? || resource_owner.admin?
end
end
据介绍,这是一个应用程序理解的概念
是否应使用客户机id白名单进行此操作?
如何指定superapp的列表?
提前谢谢 Superapp是一个应该定制实现的概念
参考:
自动授权受信任应用程序的最简单方法是使用受信任客户端的应用程序id,如下所示:
# config/initializers/doorkeeper.rb
skip_authorization do |resource_owner, client|
client.uid == "client application id goes here"
end
也许您还可以使用作用域,并使客户机的作用域字段“可信”(据我所知,直接访问数据库)但是,我相信,示波器不应该这样使用。他们通常会通知资源所有者它是什么类型的客户端,以便他/她可以选择授权或不授权
裁判:
我希望这有帮助!不过,如果有人有更好的方法来实现这一点,那就太好了。我认为最好创建一个迁移,在您的
oauth\u应用程序
表中添加一个superapp
布尔字段
那你就可以做了
# Skip Authorization for trusted clients
Doorkeeper.configure
skip_authorization do |resource_owner, client|
client.superapp?
end
end
如果应用程序将superapp布尔值设置为true
,则将跳过授权步骤,并自动授权应用程序,而无需用户操作