ruby-on-rails-3 - 在 Rails 应用程序中验证 Podio 时出现 SSL 错误/类型错误

标签 ruby-on-rails-3 ssl podio

我很烂。我正在探索 Podio API 并一直在尝试使用 the sample Podio Rails app了解它是如何工作的,但我有几个问题。 (底部的主要问题。)起初我有一个 SSL 错误:

Started POST "/sessions/createfromappauth" for 127.0.0.1 at 2015-08-14 09:37:38 -0700
Connecting to database specified by database.yml
Processing by SessionsController#createfromappauth as HTML
Parameters: {"utf8"=>"✓", "authenticitytoken"=>"xxxxx=", "appid"=>"xxxxx", "app_token"=>"xxxxxx", "commit"=>"Authenticate as app"}
Completed 500 Internal Server Error in 660ms

OpenSSL::SSL::SSLError (SSLconnect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):
  app/controllers/sessionscontroller.rb:23:in `createfromapp_auth' 

我尝试在我的 Mac 上更新我的 SSL 证书,然后更新 Rails 应用程序中的所有 gem,但都没有成功。最后我通过 putting the cacert.pem file in my /lib directory 修复了它.

不幸的是,现在我得到了错误:

Started POST "/sessions/create_from_app_auth" for 127.0.0.1 at 2015-08-17 10:39:38 -0700
Processing by SessionsController#create_from_app_auth as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"xxxx", "app_id"=>"xxxx", "app_token"=>"xxxx", "commit"=>"Authenticate as app"}
Completed 500 Internal Server Error in 273ms

TypeError (no implicit conversion of Pathname into String):
  app/controllers/sessions_controller.rb:23:in `create_from_app_auth' 

我正在使用 Mac

  • Ruby:2.2.1p85(2015-02-26 修订版 49769)[x86_64-darwin14]
  • 导轨:3.2.8
  • OpenSSL 1.0.2d 2015 年 7 月 9 日

这是导致相关错误的 sessions_controller 中的代码:

def create_from_app_auth
  Podio.setup(
    :api_url => 'https://api.podio.com',
    :api_key => ENV['PODIO_CLIENT_ID'],
    :api_secret => ENV['PODIO_CLIENT_SECRET']
  )

  Podio.client.authenticate_with_app(params[:app_id], params[:app_token])

  session[:podio_access_token] = Podio.client.oauth_token.access_token
  session[:podio_refresh_token] = Podio.client.oauth_token.refresh_token

  redirect_to root_url, :notice => "Signed in!"
end

关于如何修复 TypeError 或 SSLError 以便我不会收到 TypeError 的任何想法?提前致谢!

最佳答案

好像线路有问题:

Podio.client.authenticate_with_app(params[:app_id], params[:app_token])

请验证此行中的参数。您能否将它们打印出来以确保 params[:app_id]params[:app_token] 都有效并且它们都不是 Pathname

关于ruby-on-rails-3 - 在 Rails 应用程序中验证 Podio 时出现 SSL 错误/类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32056882/

相关文章:

podio - id 为 # 的用户在 id 为 # 的个人资料上没有正确的 View

python-3.x - 使用 Podio API 时出错 - 文件上传操作

ruby-on-rails - 如何仅针对列更新的子集更新模型的 "updated_at"字段?

php - SSL 工具不适用于 MySQL Workbench

node.js - 在 Nodejs 中使用来自 GoDaddy 的私钥

python - 更改 SSL 协议(protocol) Torndao 2.3/Python 2.6

ios - 还有其他人在使用 Podio iOS 应用程序和 Google 街景时遇到问题吗?

jquery - jquery-rails 缺少rails.js

ruby-on-rails - ActionController::RoutingError: 使用复选框 + ajax 时没有路由匹配 ->

jquery - 如何使用backbone.js进行ajax调用