加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 当使用open_id_authentication插件时,如何在RS

发布时间:2020-12-16 23:04:00 所属栏目:百科 来源:网络整理
导读:我正在尝试编写一个Cucumber场景,要求我有一个登录用户 – 这通常很简单,但我只使用OpenID身份验证(认证插件的简化).然而,在深入挖掘open_id_authentication插件后,我不确定如何在Cucumber中实现这一点. 解决方法 我找到了一种方法,如果你将它放在你的featur
我正在尝试编写一个Cucumber场景,要求我有一个登录用户 – 这通常很简单,但我只使用OpenID身份验证(认证插件的简化).然而,在深入挖掘open_id_authentication插件后,我不确定如何在Cucumber中实现这一点.

解决方法

我找到了一种方法,如果你将它放在你的features / support / env.rb中:
ActionController::Base.class_eval do
  private

  def begin_open_id_authentication(identity_url,options = {})
    yield OpenIdAuthentication::Result.new(:successful),identity_url,nil
  end 
end

然后你可以在适当的步骤中做这样的事情:

Given /^I am logged in as "(.*)"$/ do |name|
  user = User.find_by_name(user)
  post '/session',:openid_url => user.identity_url
  #Some assertions just to make sure our hack in env.rb is still working
  response.should redirect_to('/')
  flash[:notice].should eql('Logged in successfully')
end

我只是完全破坏了黄瓜功能的开放id身份验证,显然如果我需要登录失败的实例,我可以根据提供的identity_url做到这一点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读