【问题标题】:Doorkeeper Application not saving门卫应用程序未保存
【发布时间】:2016-04-05 21:45:53
【问题描述】:

我让 Doorkeeper 在本地工作,但一旦部署到生产环境,我就会遇到一个奇怪的问题。我无法创建新应用程序,请参见下文:

$> app = Doorkeeper::Application.new :name => 'test', :redirect_uri => 'http://test.com'
=> #<Doorkeeper::Application id: nil, name: "test", uid: nil, secret: nil, redirect_uri: "http://test.com", scopes: "", created_at: nil, updated_at: nil>

$> app.save
   (0.8ms)  BEGIN
   (0.8ms)  BEGIN
  Doorkeeper::Application Exists (0.7ms)  SELECT  1 AS one FROM `oauth_applications` WHERE `oauth_applications`.`uid` = BINARY '56bf468e5a1d116e3daef75ecc49b6b6ba313a9a79815b5b4683d56851880c49' LIMIT 1
  Doorkeeper::Application Exists (0.7ms)  SELECT  1 AS one FROM `oauth_applications` WHERE `oauth_applications`.`uid` = BINARY '56bf468e5a1d116e3daef75ecc49b6b6ba313a9a79815b5b4683d56851880c49' LIMIT 1
   (0.4ms)  ROLLBACK
   (0.4ms)  ROLLBACK
=> false

oauth_applications 表 100% 为空。

我正在服务器上运行它(在本地它按预期工作),如果您需要更多信息,请告诉我。

编辑:

我也试过了:

$>app.save!    

并得到以下错误:

ActiveRecord::RecordInvalid: Validation failed: Redirect URI must be an HTTPS/SSL URI.

【问题讨论】:

  • Redirect URI must be an HTTPS/SSL URI. 尝试将 https:// 添加到您的重定向 uri。您可能需要安装 SSH 证书,具体取决于您的平台(在 heroku 上自动完成)。
  • 成功了!谢谢,如果您将其作为答案,我将其标记为正确!我正在为我的主机使用 AWS Elastic Beanstalk,看起来我需要找到一种方法来获得 SSH 证书。

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


【解决方案1】:

我有一个非 https uri 的解决方案。在doorkeeper.rb 配置文件中,您可以选择将force_ssl_in_redirect_uri 设置为false

# config/initalizers/doorkeeper.rb

force_ssl_in_redirect_uri false

事实证明这不是问题,而是设计使然:)

【讨论】:

  • 这有助于解决我的问题,因为我只想禁用已部署的 Doorkeeper 应用程序的 localhost 测试。在初始化程序中@gregwinn 建议您可以取消注释此行force_ssl_in_redirect_uri { |uri| uri.host != 'localhost' }。这将强制使用 ssl,除非它是 localhost uri。
【解决方案2】:

来自以下部分的错误:

Redirect URI must be an HTTPS/SSL URI

您似乎在为 uri 使用非安全(http,而不是 https)端点。对于某些平台(如 Heroku),HTTPS 支持是自动启用的,因此在 uri 中放置 https:// 就足够了。

对于 ElasticBeanstalk,它不应该是一个非常繁琐的过程。请参阅their docs 以开始使用。您需要从域名提供商处购买 SSL 证书,然后在 ElasticBeanstalk Web 配置中找到上传和使用证书的选项(我认为该选项可能在负载均衡器部分)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    相关资源
    最近更新 更多