Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 如何在RubyonRails中设置onelogin SAML?_Ruby On Rails 4_Saml_Onelogin - Fatal编程技术网

Ruby on rails 4 如何在RubyonRails中设置onelogin SAML?

Ruby on rails 4 如何在RubyonRails中设置onelogin SAML?,ruby-on-rails-4,saml,onelogin,Ruby On Rails 4,Saml,Onelogin,我正在将onelogin SAML API for Ruby工具包集成到我当前的项目中。我配置了SAML设置。这是我的控制器: class SamlController < ApplicationController skip_before_filter :verify_authenticity_token, :only => [:consume] def index #settings = Account.get_saml_settings setti

我正在将onelogin SAML API for Ruby工具包集成到我当前的项目中。我配置了SAML设置。这是我的控制器:

class SamlController < ApplicationController
  skip_before_filter :verify_authenticity_token, :only => [:consume]  

  def index
    #settings = Account.get_saml_settings
    settings = :get_saml_settings
    request = Onelogin::Saml::Authrequest.new
    redirect_to(request.create(settings))
  end

  def consume
    response = Onelogin::Saml::Response.new(params[:SAMLResponse])
    response.settings = Account.get_saml_settings

    logger.info "NAMEID: #{response.name_id}"

    if response.is_valid?
      session[:userid] = response.name_id
      redirect_to :action => :complete
    else
      redirect_to :action => :fail
    end
  end
class SamlController[:consume]
def索引
#设置=Account.get\u saml\u设置
设置=:获取样本设置
request=Onelogin::Saml::Authrequest.new
将_重定向到(请求.创建(设置))
结束
def消耗
response=Onelogin::Saml::response.new(参数[:SAMLResponse])
response.settings=Account.get\u saml\u设置
logger.info“NAMEID:#{response.name_id}”
如果response.u有效吗?
会话[:userid]=response.name\u id
将_重定向到:操作=>:完成
其他的
将_重定向到:操作=>:失败
结束
结束
对于
def index
方法,它具有设置和请求对象,但当它将页面重定向到(request.create(settings)),我得到错误:

没有为nil类“创建”的方法


我认为它调用create方法,但不返回任何值。您是否可以请任何人检查一下,并告诉我您的关注点/建议。

您是否查看了包含ruby saml和rails4工作示例的github存储库?

同样重要的是您正在使用的ruby saml版本,因为一些方法在旧版本上不可用。

根据声明应该是:

OneLogin::RubySaml::Authrequest
and
OneLogin::RubySaml::Response
他们网站上工具包的文档似乎已经过时了。使用gem中提供的文档

从gem文档:

Version 0.8.x changes the namespace of the gem from OneLogin::Saml
to OneLogin::RubySaml. Please update your implementations of the gem accordingly.