问题标签 [sorcery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 如何在不更改凭据的情况下更新用户
我使用魔法宝石来管理身份验证。你可以看到下面的代码。
模型/用户.rb
控制器/users_controller.rb
_form.html.erb
如何在不影响作为凭据的密码、电子邮件和用户名的情况下编辑用户的地址、电话等信息。
ruby - 如何在我的 RSpec 测试中访问 Sorcery?
巫术认证宝石:https ://github.com/NoamB/sorcery
Sorcery 的创建者提供了一个示例 Rails 应用程序,其 Test::Unit 功能测试中包含 Sorcery 测试助手:https ://github.com/NoamB/sorcery-example-app/blob/master/test/functional/users_controller_test.rb
但我不知道如何login_user
在我的 RSpec 控制器规范中工作。
这是 Sorcery gem 中关于上述错误的相关代码: https ://github.com/NoamB/sorcery/blob/master/lib/sorcery/test_helpers/rails.rb
更新:
根据 Sorcery 的文档“ Testing in Rails 3include Sorcery::TestHelpers::Rails
”,我确实已将spec_helper.rb
.
Sorcery 测试助手login_user
作用于@controller
,但我收到错误,因为@controller
在nil
我的控制器规范中。这是我的规格:
ruby-on-rails-3.1 - 在 rails 3.1 中使用 rspec 测试巫术的登录功能
我include Sorcery::TestHelpers::Rails
在 sorcery.rb 里面添加了我的控制器规格看起来像
我的控制器看起来像
我已将用户模型迁移到我的测试环境,当我运行测试时,它总是说未登录。
ruby-on-rails - double 上的 .as_null_object 会导致 Rspec 挂起?
我不太确定如何解释这一点。
我有一个运行 RSpec 2.8.1 的现有 Rails 3.1.3 应用程序,包含 284 个测试的测试套件。他们会很高兴地一遍又一遍地执行。
我今天添加了一个新测试,供用户更新他们的设置 -
最初,此测试失败,因为我的 application_controller.rb 中有一个 before_filter 也引用了 current_user(这会导致模拟上出现意外消息),所以我想将模拟设为空对象(请参阅上面的注释区域)。
当我这样做时......整个测试套件就像在一个无限循环中一样,在完成测试之后(但在继续下一个测试之前)。
有没有人见过这样的事情?我是否错误地使用了 .as_null_object ?
编辑:澄清一些事情,login_user
是 Sorcery 提供的用于在测试中进行身份验证的助手,而:user_settings
制造者只是在制造一个带有时区的哈希。
ruby-on-rails - 魔法注册不通过
我正在尝试使用 Sorcery gem 对用户进行身份验证,但在填写注册表单后,它会重定向回注册页面并出现错误。但是,我可以从控制台创建用户。
日志文件:
users_controller.rb
模型/用户.rb:
配置/初始化程序/sorcery.rb:
巫术迁移:
ruby-on-rails-3 - Rails 魔法错误?创建重复的用户帐户
如果将 github 上显示的示例巫术代码扩展为允许多个登录方法(这是 oauth 的全部要点),那么在我看来,它会创建重复帐户。您可以在此处的代码片段中看到,如果 login_from() 不成功,将调用 create_from()。
GITHUB 在https://github.com/NoamB/sorcery-example-app/blob/master/app/controllers/oauths_controller.rb
在所有情况下调查 create_from 的源代码都会创建一个新的用户帐户记录。如果用户帐户记录已经存在,这将是不正确的。
我的问题:如果用户帐户是通过 facebook 以外的其他方式创建的,那么在第一次连接 facebook 时应该调用什么巫术方法。login_from 会失败,create_from 会生成重复的用户记录?
twitter-bootstrap - 巫术和简单形式的实现
长期读者第一次使用。我正在整理我的第一个 RoR 应用程序,并将我的应用程序应该使用的所有内容隔离到:-
- 巫术
- Omniauth
- 可以可以
- twitter-bootstrap(转换为 sass)
和简单的形式。
干净,清晰,简单....不是。
在我的一生中,无法将简单的表单与巫术“登录”集成(这似乎是最简单的任务)而不会在“remember_me”字段上出现错误。
简单表单没有 simple_form_tag(仅 simple_form_for)选项,该选项在会话控制器新方法的登录表单上效果最佳。相反,我必须在该方法中创建一个@user 实例,但随后在“remember_me”字段“未定义方法‘remember_me’”上出现错误
任何帮助将不胜感激。
我的意思是大大!提前感谢:)
ruby-on-rails - Rspec - 访问巫术方法/变量
尝试为我已经编写的代码编写一些测试,以期使用测试驱动开发来扩展我的代码。
我有一个控制器,其索引操作调用“user_info”方法,它只是收集一些依赖于 Sorcery 的 current_user 变量的实例变量。例如:
我开始使用 rspec 编写一些测试,只是为了感受一下测试这个代码库。我的控制器规格非常基本,如下所示:
但是,当我尝试运行此规范时出现以下错误:NoMethodError: undefined method 'a' for false:FalseClass
首先,如何让我的规范识别 Sorcery 方法 current_user?而且,出于好奇,为什么 current_user 被标记为 FalseClass 的实例?如果它没有调用 Sorcery 方法(并且我没有在代码中的其他任何地方定义 current_user),它不应该显示为 nil 吗?
ruby-on-rails - 使用魔法的 Rails 管理员
我正在尝试使用Sorcery而不是设计来安装Rails Admin Gem进行身份验证。
Rails admin 确实提供了一个钩子,您可以使用它来附加您自己的身份验证方法。这是他们在文档中提供的示例(使用warden):
我猜在块内我需要引用before_filter
Sorcery 用来验证用户的require_login
.
但是,当我尝试这样做并/admin
在注销时尝试访问时,会出现路由错误:
这可能是因为我在引擎中而不是在主应用程序中被重定向。
如何正确设置?