尝试按照此处的设置创建一个简单的 SAML 应用程序(我在这里获得的完整项目)。
我完成了设置
bundle install
rails s
这很好,但是当我导航到 http://localhost:3000/时 ,我遇到了
NoMethodError in SamlController#init
undefined method `+' for nil:NilClass
Extracted source (around line #9):
def init
request = OneLogin::RubySaml::Authrequest.new
direct_to(request.create(saml_settings))
end
def consume
我添加了一些日志记录来检查请求和 saml_settings 的 nil 状态,但这似乎对它们都返回 false
puts request.nil?
puts saml_settings.nil?
错误跟踪:
Processing by SamlController#init as HTML
false
false
Created AuthnRequest: <samlp:AuthnRequest AssertionConsumerServiceURL='http://localhost:3000/saml/consume' ID='_394fa0a0-f313-0135-85a4-6a0001e18280' IssueInstant='2018-02-13T17:42:45Z' Version='2.0' xmlns:saml='urn:oasis:names:tc:SAML:2.0:assertion' xmlns:samlp='urn:oasis:names:tc:SAML:2.0:protocol'><saml:Issuer>http://localhost:3000/saml/consume</saml:Issuer></samlp:AuthnRequest>
Completed 500 Internal Server Error in 15ms (ActiveRecord: 0.0ms)
NoMethodError (undefined method `+' for nil:NilClass):
app/controllers/saml_controller.rb:9:in `init'
(注意:错误是第 5行,由于我添加了调试日志记录,它对我来说是第 9 行)我不太确定它还能是什么,不确定它找不到什么方法以及什么是 nil?
我从来没有弄乱过 ruby 的东西,但是从我最初的样子来看,我不确定 nil 是从哪里来的,日志显示正在创建的请求所以不确定。任何帮助将不胜感激,谢谢!