jjzjj

ruby - gmail 的 omniauth oauth token 无效

我正在尝试获取一个可以与gmail_xauth(rubygem)一起使用的oauthtoken查看用户的邮件。我首先在谷歌上注册了我的应用程序,然后然后设置设备以请求访问邮件:config.omniauth:google,'key','secret',:scope=>'https://mail.google.com/mail/feed/atom/'然后我通过outh/openid流程,谷歌提示我批准访问gmail,使用token将我重定向回应用程序和omniuth凭据中的secret&我的谷歌帐户列出了我的应用程序被授权访问我的数据。到目前为止,一切都很好。现在,当我获取这些凭据并尝试

ruby-on-rails - 设计身份验证 token

在设计中,我如何访问用户的身份验证token。当ajax调用启动用户session时,我需要能够从用户那里获取身份验证token。我尝试做一些事情,比如在我的模型中添加:token_authenticabledevise:database_authenticatable,:registerable,:recoverable,:rememberable,:trackable,:validatable还将:authentication_token和:authenticity_token等名称的属性添加到attr_accessible。但是每次我尝试使用user.auth从用户调用authe

ruby - 如何使用 Devise 来保护 delayed_job_web 接口(interface)?

我正在使用delayed_job_webgem来监控延迟的作业。https://github.com/ejschmitt/delayed_job_web可以使用我的routes.rb中的这一行访问它:match"/delayed_job"=>DelayedJobWeb,:anchor=>false我站点的每个其他区域都需要使用Devisegem登录。我如何使它也需要登录?在自述文件中,他们建议将以下内容添加到config.rb:ifRails.env.production?DelayedJobWeb.useRack::Auth::Basicdo|username,password|us

ruby - application 和 actioncable 不会共享 cookie

我正在使用devise进行身份验证,但是当我实现您的方法时,我得到“未经授权的连接尝试被拒绝”经过几个小时的搜索,我发现:cookies.signed['user.id']返回零。在以下代码块中。deffind_verified_userifverified_user=User.find_by(id:cookies.signed['user.id'])verified_userelsereject_unauthorized_connectionendend我查了一下,确实有cookie,但是里面没有Devise设置的cookie数据。为了检查“user.id”是否真的设置了,我在Vie

ruby-on-rails - Ruby on Rails/Devise - 更改电子邮件时需要密码

就是这样,对于所有的大理石,如果我能解决这个问题,那么我就完成了一个项目。无论如何,我将RubyonRails3与Devise一起用于用户身份验证。您可能知道,默认情况下,在用户admin/edit中,如果用户提供新密码,则必须在current_password字段中输入当前密码。有大量关于如何禁用current_password以便用户可以自由更改和保存的信息。但是,我几乎找不到相反的做法:要求更多字段使用当前密码……在我的例子中,是电子邮件字段。并且仅在更改该电子邮件地址时才需要当前密码,如果它保持不变则不需要。目前用户可以在不提供当前密码的情况下自由更改他们的电子邮件,出于安全原

ruby - Rails 渲染 Controller 中的部分和布局

我正在覆盖设计注册Controller的创建操作。我有两种注册表格,个人或公司,公司有一个名为company_form的字段设置为true以区分这两种表格。在表单验证后,我希望呈现正确的表单(以前无论我使用什么表单,它都会返回默认表单)。我遇到了一个问题,即只渲染了部分(很明显,因为我只渲染了部分),但我还需要渲染布局/应用程序文件。classRegistrationsControllerifresource.company_formrenderpartial:'shared/company_signup_form'elserenderpartial:'/shared/individu

ruby-on-rails - 仅当可搜索字段发生变化时才使用太阳黑子索引

我们在最新项目中使用sunspot进行搜索。我们还使用devise并按如下方式为我们的用户模型编制索引:searchabledotext:fnametext:lnametext:emailtext:descriptiontext:twitter_usernameend使用此设置,除非solr正在运行,否则用户甚至无法登录。这意味着在每次保存用户模型时,都会与我们的solr服务器进行一些通信(重建索引?),即使可搜索字段都没有更改。这是正确的吗?我们还有许多其他模型正在被sunspot索引,这些模型具有经常更新的不可搜索字段。似乎sunspot正在为所有这些更新重新编制索引。有没有办法将

ruby-on-rails - 限制每个用户的请求数量(使用机架攻击和设计)

我正在使用https://github.com/kickstarter/rack-attack/#throttles限制对某些网址的请求。机架攻击文档展示了如何通过请求IP或请求参数进行限制,但我想做的是限制每个用户的请求。因此,无论IP是什么,用户都应该能够在特定时间范围内发出不超过n个请求。我们使用devise进行身份验证,我想不出一种简单的方法来根据请求唯一标识用户。我应该在session/cookie中存储用户ID吗?也许是一个uniq哈希?您对实现这一目标的最佳方式有何看法? 最佳答案 想通了。Devise已将用户ID存储

ruby-on-rails - 找不到 id=sign_out 的用户

注销链接在我的Rails应用程序中不起作用。我检查了下面列出的routes.rb,我的application.html.erb看起来遵循正确的路径。出现以下错误。ActiveRecord::RecordNotFoundinUsersController#showCouldn'tfindUserwithid=sign_outRails.root:/Users/patrickwalsh/rails_projects/ytutorialApplicationTrace|FrameworkTrace|FullTraceapp/controllers/users_controller.rb:4:

ruby-on-rails - Rails - 设计登录/身份验证失败不会使用消息填充错误数组

使用Rails3.07和Devise1.1.5除了一个异常(exception),一切正常,符合预期。例如,当用户尝试使用伪造密码登录时,devise会拒绝登录尝试,这是正确的,但不会提供错误消息。我在app/helpers/devise_helper.rb中设置了几种错误显示方法,我正在使用一种名为devise_sign_in_error_messages的方法!对于登录View。因此,在这种情况下,我能够验证该函数的以下行是否为错误返回了一个空字符串:如果resource.errors.empty返回“”?如果我提供了正确的用户名和密码,系统会正常登录,所以所有的设计逻辑似乎都很好