问题标签 [doorkeeper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
972 浏览

ruby-on-rails - 没有网络视图的门卫

我正在使用 Rails 为移动应用程序编写 API,而 OAuth 似乎是处理用户授权的标准方法。

如果我正确理解 Doorkeeper 文档,它要求用户在授予移动应用程序访问权限之前登录网站。

可能的问题是确实没有任何网站(它可能在未来,但现在它只是 api)。我希望在 ios 应用程序中处理用户创建/登录等。

这让我想知道 OAuth 是否是这里的正确解决方案?

0 投票
0 回答
401 浏览

ruby-on-rails - 在门卫中的某些操作上验证客户端应用程序而不是 access_token?

我正在使用 Rails JSON API + Doorkeeper,所以我想让具有 client_id 和 client_secrete 的移动应用程序请求 POST /users 来创建用户,而无需使用访问令牌进行验证。目前,我直接在 Rails 控制台中创建用户,移动应用程序使用使用资源所有者密码凭据流来获取令牌以通过 API 访问受保护的资源。在下面的代码中,移动应用程序必须提供访问令牌才能调用索引操作:

目前,创建操作不会验证任何内容,所以无论如何要告诉 door_keeper 在允许调用特定操作之前验证 client_id 和 client_secret 吗?我不希望它公开。

0 投票
0 回答
475 浏览

ruby-on-rails - Doorkeeper 也授权 redirect_uri 子路径

我正在oauth 2.0使用Doorkeeper.

我需要的是“自定义”隐式流授权,以便让客户端的子路径redirect_uri也被授权。

例子

有什么建议吗?

0 投票
3 回答
1208 浏览

ruby-on-rails - 带有 Rails 门卫的 MiniTest

Minitest中 RSpec 中的此 Doorkeeper 保护控制器的等价物是什么?

我想用 Minitest 测试我的,目前所有的响应都是“预期的响应是一个,但是是 <401>”

0 投票
1 回答
388 浏览

ruby-on-rails - 需要门卫错误帮助

我在我的 ruby​​ on rails 应用程序上使用门卫来实现 OAuth 功能。我也在使用设计进行用户安全管理。

这是我当前的 doorkeeper.rb 文件:

当我访问 /oauth/applications 时,我收到一个错误页面,上面写着“未初始化的常量管理员”和“config/initializers/doorkeeper.rb:18:in `block (2 levels) in '”。

我究竟做错了什么?

0 投票
1 回答
445 浏览

api - 使用门卫POST请求oauth2

我正在尝试使用门卫向提供商发送发布请求。我创建了应用程序和令牌,我对 api 的获取请求运行良好:

但是这篇文章给了我一个很长的错误,其中包括 InvalidAuthenticityToken 错误。

我在这里发布错误发布请求错误链接

这是我的控制器:

任何反馈将不胜感激,谢谢!

0 投票
0 回答
520 浏览

ruby-on-rails-4 - 使用 Doorkeeper/Bcrypt for Rails API 正确登录

我有一个使用 rails 4 创建的 API,目前我正在尝试弄清楚如何进行登录。由于 API 将用于 iPhone 应用程序,我们决定使用令牌身份验证和 Doorkeeper/OAuth2 gem。

到目前为止,我创建了一个登录控制器来负责对用户进行身份验证(我正在使用 bcrypt 来散列密码)。

我在上面的代码中遇到的问题是法拉第超时。问题在于 access_token 调用。由于向 /signin 发出了 POST 请求,第二个请求 (access_token) 将发送到 Doorkeeper 进行身份验证,因此必须等到第一个请求完成。

我不确定我是否过度复杂化了该过程,但我想要实现的是从前端发出请求,对用户进行身份验证并将令牌返回到前端以供将来使用。

我尝试的另一种方法是 POST 到 /oauth/token :

{ "grant_type" : "password", "username" : "test@gmail.com", "password" : "$2a$10$igmaaZkrSviHc.8Glm3hcuRdqzeT5YQwYaKFN9eUbpfcmCqA3PBiO", "client_id" : "f5cbc8d91f6e007c003e17baf3f45cb83cede4313c381afa99e456f59b08e3f8", "client_secret" : "f827f84548b33ebd8042cfbaa7aff944f5844aad7962623ed68d83963bc62bb5" }

这种方法工作正常,但密码已经散列,当我尝试使用

在 doorkeeper.rb 中,我收到一个关于 BCrypt 的错误(我确实尝试过“require 'bcrypt'”)。

任何建议都会受到欢迎。

0 投票
2 回答
2086 浏览

ruby-on-rails - 如何通过 Facebook 登录向 Doorkeeper 进行身份验证?

我有一个 Rails 应用程序,我的用户可以使用 Devise gem 和 Omniauth-facebook gem 登录它。他们可以是“普通”用户或 Facebook 用户。所有这些都正常工作。

我在这个应用程序中有一个 API 也由 Doorkeeper 进行身份验证。从我的移动客户端,我可以发送用户名和密码,他们可以使用 access_token 访问我的 API。这可以正常工作。

现在,我希望我的 facebook 用户能够通过他们的 facebook 登录从移动应用程序访问我的 API。有人知道我怎么能做到这一点?使用 facebook 登录后,我将拥有一个令牌,我将能够访问有关用户的一些信息......但是我如何连接到 API?

注意:当您使用 facebook 登录 rails 应用程序时,Devise 会创建一个具有提供程序和 uid 字段的新用户。

有任何想法吗?多谢。

0 投票
1 回答
1045 浏览

ruby-on-rails-4 - 实施 resource_owner_authenticator 不起作用

我正在用网页编写一个 API。我想要 Oauth2 登录,这样我就可以从移动设备保持会话,我已经安装了 GEM 门卫并按照本网站的说明运行迁移。

我被卡住的地方是 resource_owner_from_credentials 部分,因为我有一个用户模型,它具有由 rails 的 has_secure_password 助手提供的身份验证方法。这就是我的 /config/initializers/doorkeeper.rb 文件的样子

什么时候去

我明白了:

然后我尝试了:

和相同的

我在做什么错?我应该如何配置source_owner_authenticator 块?我如何获得令牌?

0 投票
0 回答
2184 浏览

ruby-on-rails - 如何在 Rails4 上的 doorkeeper-gem 中配置访问令牌?

通过 http 标头使用令牌的门卫规范

我的目标是在 iOS 和 Rails4 之间创建安全的 API。所以我一直在尝试看门人宝石一段时间。但是我现在正在浪费时间进行测试和配置。详细来说,问题是doorkeeper_for通过 HTTP 标头传输的方法和令牌。如何使用http请求参数成功,但通过参数发送令牌不好。所以我想发送带有 HTTP 标头的令牌,但门卫看不到 where request.header["My_TOKEN_PLACE"]


环境

现在,我有api_controller.rb, communities_controller.rb, communities_controller_spec.rb, doorkeeper.rb.

api_controller.rb


communities_controller.rb


communities_controller_spec.rb


config/initializer/doorkeeper.rb


结果rspec communities_controller.rb就在这里。


它似乎

未通过身份验证

before { get :search, access_token: access_token.token }

已通过身份验证。

补充

pp在控制器中进行了调试,pp request结果pp responce有一对键值对"HTTP_AUTHENTICATION": "xrfui24j53iji34.....(some Hash value)".