问题标签 [bcrypt-ruby]

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.

0 投票
5 回答
6495 浏览

ruby-on-rails-4 - (Rails) : NoMethodError: undefined method cost' for BCrypt::Engine:Class

当我学习“Ruby on Rails 教程”时,我想在控制台上创建一个用户:

然后,我收到以下错误消息:

这是用户模型:

0 投票
1 回答
981 浏览

ruby-on-rails - Ruby on Rails bcrypt-ruby error

I'm following Michael Hartl's tutorial for Rails 4, and I'm working on the user auth section. He says to add bcrypt-ruby to the Gemfile, then bundle install.

Here's the line from my Gemfile:

I ran bundle install and then rails console to test the system. Creating a new user throws the following error:

The bundle install worked fine and didn't throw any errors-- why is this failing here, with an error saying bcrypt-ruby is not installed?

EDIT: this appears to be a duplicate of this question: Unable to activate bcrypt-ruby (~> 3.0.0), already activated bcrypt-ruby-3.1.2?

0 投票
1 回答
143 浏览

ruby-on-rails - Rails 4 中的用户登录系统

我在我的用户控制器中定义了以下强参数

该模型使用password_registry字段进行加密,使用rails has_secure_password方法。这是视图迭代

我在运行应用程序时遇到的错误是这样的

我究竟做错了什么。

0 投票
1 回答
2061 浏览

ruby-on-rails - 在 Rails 4 应用程序上使用具有安全密码

我正在尝试使用 has_secure_password 进行用户登录,我已将用户模式定义如下

我已经在控制器上声明了强参数

这是我的创建方法。

我尝试保存时遇到的错误如下

现在,如果我按照 stackoverflow 上许多人的建议从这段代码中取出 attr_accessor,这就是我最终得到的。

0 投票
0 回答
520 浏览

ruby-on-rails-4 - 使用 Doorkeeper/Bcrypt for Rails API 正确登录

我有一个使用 rails 4 创建的 API,目前我正在尝试弄清楚如何进行登录。由于 API 将用于 iPhone 应用程序,我们决定使用令牌身份验证和 Doorkeeper/OAuth2 gem。

到目前为止,我创建了一个登录控制器来负责对用户进行身份验证(我正在使用 bcrypt 来散列密码)。

我在上面的代码中遇到的问题是法拉第超时。问题在于 access_token 调用。由于向 /signin 发出了 POST 请求,第二个请求 (access_token) 将发送到 Doorkeeper 进行身份验证,因此必须等到第一个请求完成。

我不确定我是否过度复杂化了该过程,但我想要实现的是从前端发出请求,对用户进行身份验证并将令牌返回到前端以供将来使用。

我尝试的另一种方法是 POST 到 /oauth/token :

{ "grant_type" : "password", "username" : "test@gmail.com", "password" : "$2a$10$igmaaZkrSviHc.8Glm3hcuRdqzeT5YQwYaKFN9eUbpfcmCqA3PBiO", "client_id" : "f5cbc8d91f6e007c003e17baf3f45cb83cede4313c381afa99e456f59b08e3f8", "client_secret" : "f827f84548b33ebd8042cfbaa7aff944f5844aad7962623ed68d83963bc62bb5" }

这种方法工作正常,但密码已经散列,当我尝试使用

在 doorkeeper.rb 中,我收到一个关于 BCrypt 的错误(我确实尝试过“require 'bcrypt'”)。

任何建议都会受到欢迎。

0 投票
1 回答
418 浏览

sinatra - 为什么 BCrypt 在这种情况下无法进行身份验证?

当我创建用户(在 sinatra 中)时,我会这样做

然后当我尝试验证同一个用户时,我得到了这个

什么破了?BCrypt 文档(不使用数据库)中给出的示例每次都有效。我的数据库(postgres)中的某些东西会改变密码哈希吗?

使用最新版本的 bcrypt 和 ruby​​ 1.9.3(我也尝试过 ruby​​ 2.0 及更高版本,结果相同)

0 投票
3 回答
628 浏览

ruby-on-rails - bundle show ['bcrypt-ruby'] 不幸的是,发生了致命错误。在 Mac 上

我在带有 bcrypt-ruby 的 Mac ruby​​ 1.9.3p448(2013-06-27 修订版 41675)上遇到问题 - 任何版本。如果我安装 bcrypt - Rspec 也要求安装 bcrypt-ruby ......((为什么?我也在 Rails 的开头 - 使用 M.Hartl ......))
。安装后'bcrypt-ruby' - 在命令我尝试所有版本 - 我得到这个结果:


什么事!?我在这个文档中做了所有事情^,但问题并没有消失......

0 投票
0 回答
58 浏览

ruby-on-rails - 这些密码更新不起作用是有原因的吗?

我正在为我的 rails 应用程序创建密码重置令牌。

在我的用户控制器中,使用 BCrypt-Ruby,rails 脚手架通过内置的验证/保存来处理所有事情。然而,现在我遇到了一些困难。

在我的 ResetToken 控制器中,我有这个方法:

以及相应视图中的这种形式:

现在自动验证仍然有效。(如果密码不匹配,它仍然会触发验证)。但是,更新密码后似乎无法登录。看起来密码仍在被散列,但我只是在更新后无法登录。我错过了什么?


更新 1

这是有关用户密码的附加信息。正如我上面提到的,我正在使用BCrypt-Ruby gem .:

从架构

从 Rails 控制台

用户模型(具有安全密码是触发 bcrypt 散列的原因)

0 投票
1 回答
215 浏览

ruby - bcrypt-ruby 将密码从 hashed_pa​​ssword 字段升级,盐到 password_digest 字段

我计划将我的 rails 应用程序从 2.3.5 升级到 4.1。

在旧版本的 rails bcrypt-ruby 中有两个字段(hashed_pa​​ssword、salt)。

现在在最新版本的 Rails 中,我们只有一个名为 password_digest 的字段。

现在我需要将现有用户密码从 hashed_pa​​ssword、salt 升级到 password_digest 字段。

所以我计划是否有任何用于迁移现有用户密码的过程或算法。

例子:

1) hashed_pa​​ssword: d83894e27821bd43eeb7a0001037329e1ddfe28a 2) salt: 701260468044000.6918523640121411

现在我们需要更改为

3)密码摘要:666699d998933300.6918d83894e2782e1ddfe28a

现在,如果用户使用他的密码登录,它应该允许登录。

注意:我没有使用任何身份验证 gem,例如 authlogic 或 devise。我正在使用 bcrypt-ruby 使用普通 rails 身份验证

0 投票
2 回答
2423 浏览

ruby-on-rails - 密码长度验证永远不会通过 has_secure_password

我正在尝试向 中添加长度验证password,但它总是出现“密码太短”错误。

在我的模型中

如果我将验证更改为

密码通过notshort了,但short.