ruby-on-rails - 如何为门卫的 skip_authorization block 指定 super 应用列表?

标签 ruby-on-rails ruby ruby-on-rails-4 oauth-2.0 doorkeeper

我希望auto-autorize some trusted apps用于我们带门卫的 Rails API

# Skip Authorization for trusted clients
Doorkeeper.configure
  skip_authorization do |resource_owner, client|
    client.superapp? || resource_owner.admin?
  end
end

根据 this comment ,这是一个应用程序理解的概念。

这应该使用 client_id(s) 白名单来完成吗? 我如何指定 super 应用列表? 提前致谢!

最佳答案

Superapp 是一个应该定制实现的概念。
引用:https://github.com/doorkeeper-gem/doorkeeper/issues/488

自动授权受信任应用程序的最简单方法是使用受信任客户端的应用程序 ID,如下所示:

# config/initializers/doorkeeper.rb
  skip_authorization do |resource_owner, client|
    client.uid == "client application id goes here"
  end

也许您还可以使用范围并使客户端的范围字段成为“受信任的”(据我所知,直接转到数据库)。

但是,我相信,范围不应该以这种方式使用。他们通常会通知 resource_owner 这是什么类型的客户端,以便他/她可以选择授权或不授权。
引用:https://github.com/doorkeeper-gem/doorkeeper/wiki/Using-Scopes

我希望这有帮助!如果有人有更好的方法来实现这一点,那就太好了。

关于ruby-on-rails - 如何为门卫的 skip_authorization block 指定 super 应用列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29249977/

相关文章:

javascript - Rails 嵌套表单 - 编辑操作和 edit.html.erb 不会显示表单或相关帖子内容

ruby-on-rails - Rails 4 Heroku 部署错误 : Precompiling assets failed - cannot import/find boostrap file

carrierwave - Sidekiq 一遍又一遍地重复同样的工作

ruby-on-rails - 检查多插入事务是否成功

ruby-on-rails - 为什么在 Rails 5.1.1 中删除了 session 存储初始化程序

ruby-on-rails - 尝试连接到用户个人资料页面、rails

ruby-on-rails - Rails - 删除时 PG 外键违规

ruby-on-rails - 如何测试枚举操作方法在创建或保存之前验证对象?

ruby-on-rails - 使用 Pow 作为服务器在 RubyMine 中调试 - Ruby 2.1.1 + Rails 4

mysql - 我应该使用 Rails 迁移来更新生产数据吗?