Ruby on rails 门卫申请不保存

Ruby on rails 门卫申请不保存,ruby-on-rails,ruby,oauth-2.0,doorkeeper,Ruby On Rails,Ruby,Oauth 2.0,Doorkeeper,我有门卫在当地工作,但一旦部署到生产中,我就会遇到一个奇怪的问题。我无法创建新的应用程序,请参见以下内容: $> app = Doorkeeper::Application.new :name => 'test', :redirect_uri => 'http://test.com' => #<Doorkeeper::Application id: nil, name: "test", uid: nil, secret: nil, redirect_uri: "ht

我有门卫在当地工作,但一旦部署到生产中,我就会遇到一个奇怪的问题。我无法创建新的应用程序,请参见以下内容:

$> 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
并获取以下错误:

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

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

# config/initalizers/doorkeeper.rb

force_ssl_in_redirect_uri false

事实证明,这不是一个问题,而是设计上的问题:)

来自以下错误组件:

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


对于ElasticBeanstalk来说,这不应该是一个非常麻烦的过程。请确保开始。您需要从域名提供商处购买SSL证书,然后在ElasticBeanstalk web配置中找到上载和使用证书的选项(我认为该选项可能位于负载平衡器部分)

重定向URI必须是HTTPS/SSL URI。
尝试向重定向URI添加
HTTPS://
。您可能需要安装SSH证书,具体取决于您的平台(在heroku上自动完成)。这很有效!谢谢你,如果你把它作为一个答案,我会把它标记为正确的!我正在为我的主机使用AWS Elastic Beanstalk,看起来我需要找到一种方法来获取该主机上的SSH证书。这有助于解决我的问题,因为我只想禁用已部署门卫应用的本地主机测试。在初始化器@gregwinn建议中,您可以取消对此行的注释
force_ssl_in_redirect_uri{| uri | uri.host!=“localhost”}
。这将强制ssl,除非它是本地主机uri。
Redirect URI must be an HTTPS/SSL URI