問題タブ [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.
ruby-on-rails-3 - bcrypt-ruby gem がバンドルの一部ではないことを訴える Rails 3 本番サーバー
次の cap deploy の出力の抜粋からわかるように** [out :: 178.79.170.199] Using bcrypt-ruby (3.0.1)
、bcrypt-ruby gem はサーバーにインストールされていますが、ユニコーンは適切に起動できず、bcrypt-ruby gem がバンドルの一部ではないと不平を言っています。
更新 - 正確なエラー メッセージは
nginx サーバーとユニコーンの両方を再起動しました。
どうすればこれを修正できますか?
からのコンソール出力の抜粋cap deploy
インストールした他のgemには問題はありません。
ruby-on-rails - bcrypt-ruby は、ハッキングされたデータベースのパスワードをどのように隠すのですか?
どのように機能するかを理解しようとしてhas_secure_password
います。bcrypt-ruby Web サイトには、以下の使用方法の例があります。password
クラスの方法はUser
私を混乱させます。コード@password ||= Password.new(password_hash)
は暗号化されたハッシュを受け取り、暗号化されていないパスワードを返しているようです。暗号化されたハッシュだけからパスワードを回復することはできないはずです。私は何について誤解していますかPassword.new
ユーザーモデル
アカウントの作成
ユーザーの認証
mongoid - bcrypt と mongoid でユーザーのパスワードを保護する方法
を使い始めたばかりMongoDB
で、特にMongoid
.
当然のことながら、自分User
のパスワードがきちんと安全に保たれていることを確認したいと思いActiveRecord
ますbcrypt
。を使用して同じ種類のものを実装するための、きれいで、安全で、簡単な方法を探していMongoid
ます。
私はmongoid-encryptor を見てきましたが、それをどのように使用するかについてはよくわかりません。
の Readme ファイルの例にあるように、私の簡略化されUser
た外観は次のようになっていると仮定します。mongoid-encryptor
そして、私の WebApp (Sinatra
この場合は使用) では、次のようなヘルパーを定義します。
- 使用するにはどうすればよい
bcrypt
ですか? - 私が行う必要がある前処理はありますか、
cleartxtpass
またはそれをMongoid::Encryptor
処理するだけですか? ドキュメントからは明らかではありません。
ruby-on-rails - Rails - パスワードと PIN を含む has_secure_password - password_digest の制限
2 層の認証が必要です。「ハード」認証と「ソフト」認証と呼びます。ハード レイヤーは、標準の電子メールとパスワードのレイヤーです。私は現在、この Railscast: #250 Authentication from Scratch (revised)で説明されているように、 has_secure_passwordとbcrypt-ruby gemを使用してこれを実装しました。
「ソフト」レイヤーについては、各ユーザーに 4 桁の PIN を持たせ、それを使用して身元を確認し、アクティブ ユーザーとして切り替えることができるようにします。この PIN をパスワードと同じように暗号化したいと思います。
私の質問
「password_digest」列の依存関係がある場合 (カスタマイズ可能または拡張可能とは思われません)、has_secure_password を使用してこれら 2 つの認証レイヤーを使用するにはどうすればよいですか? Users テーブルに「pin_digest」列を作成し、それを別のパスワードのように扱いたいのですが、has_secure_password はこれをサポートしていないようです。
また、これを実際に実装する方法について提案があるかどうか、または何らかの理由でそれが悪い考えのように思われるかどうかも知りたいです。
なぜ私はこれをやろうとしているのですか?
共有キオスク用のアプリを作成しています。ユーザーが毎回完全なログイン資格情報を入力しなくても、できるだけ簡単に切り替えることができるようにしたいと考えています。これは、人々がすばやく移動する小売店環境で使用され、切り替えのたびに完全な電子メール アドレスとパスワードを入力するのは面倒で時間がかかる可能性があります。
誰かが良いアイデアを持っていれば、私は提案やアプローチを受け入れます。:)
実際にどのように見えるか
- ユーザーは「ハード」認証を使用してログインします。
- ユーザーが「ハード」認証を使用してログインすると、他のユーザーは、ユーザーのリストから自分自身を選択して PIN を入力するだけで交換できます。
- ユーザーは、PIN を使用して何度でも交換できます。
- 誰かが「ハード」ログアウト ボタンをクリックすると、すべてのユーザーがログアウトされ、再度ログインするには「ハード」認証を使用する必要があります。
例
- Frank は仕事に取り掛かり、(「ハード」認証を使用して、電子メール アドレスとパスワードを入力して) 共有キオスクにログインします。
- フランクはキオスクでいくつかの作業を行います。
- ジョーは仕事を始め、キオスクも使用する必要があります。
- Joe がユーザーのリストで自分の名前をクリックすると、4 桁の PIN (「ソフト」認証) を入力するように求められます。
- Frank はアクティブ ユーザーではなくなりました。
- Joe がアクティブ ユーザーになりました。
- ジョーは、フランクがキオスクを再び使用する必要がある前に、しばらくの間、いくつかの作業を行います。
- Frank がユーザーのリストから自分の名前をクリックすると、4 桁の PIN を入力するように求められます。
- Frank は、作業が終わったら、[ログアウト] ボタンをクリックします。次にキオスクを使用する人は、「ハード」認証を使用してログインする必要があります。
ruby-on-rails-4 - bcrypt-ruby (~> 3.0.0) をアクティブ化できません。既に bcrypt-ruby-3.1.1 をアクティブ化しています。すべての依存関係が Gemfile に追加されていることを確認してください
Rails 4.0.0 アプリがあります。bundle install コマンドを実行しても問題はありません。これが私の GemFile です。
そして、これは私のGemfile.lockです
を実行するrake sometask
と、この問題に直面しました。
これを修正するにはどうすればよいですか?
ruby-on-rails - BCrypt でパスワードを更新する
BCrypt チェックでユーザー名とパスワードを使用してログインすると、問題はなく、すべて問題ありません。
しかし、パスワードを回復するプロセスを経て、新しいパスワードでログインしようとすると、BCrypt は true を返しません。
私が持っているコードは次のとおりです。
私はレール4を使用しています
bundle - replace_gem のブロックは bcrypt-ruby をアクティブ化できません (~> 3.0.0)、既に bcrypt-ruby-3.1.1 をアクティブ化しています
この問題に関するいくつかの回答を見てきましたが、うまくいかないようです。これはWindows上にあり、アイデアがありません。助けてくれてありがとう!
C:/Ruby200/lib/ruby/gems/2.0.0/gems/bcrypt-ruby-3.0.1-x86-mingw32/lib/bcrypt_ext.rb:2:in require': cannot load such fil
e -- 2.0/bcrypt_ext (LoadError)
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bcrypt-ruby-3.0.1-x86-mingw32/lib/bcrypt_ext.rb:2:in
'
' from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in each'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in
block in require' from C:/Ruby200/lib/ruby/ gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in each'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in
require' from C:/Ruby200/lib/ruby/gems/2.0.0/gems/bundler-1.3.5 /lib/bundler.rb:132:in require'
from C:/Users/Natecraft/Documents/railstut/Nate_Enddy_d3/blog/config/application.rb:12:in
' from C:/Users/Natecraft/Documents/railstut/Nate_Enddy_d3/blog/config/environment.rb:2:in require'
from C:/Users/Natecraft/Documents/railstut/Nate_Enddy_d3/blog/config/environment.rb:2:in
' from C:/Users/Natecraft/Documents/railstut/Nate_Enddy_d3 /blog/spec/spec_helper.rb:3:in require'
from C:/Users/Natecraft/Documents/railstut/Nate_Enddy_d3/blog/spec/spec_helper.rb:3:in
' from C:/Users/Natecraft/Documents/railstut/Nate_Enddy_d3/blog/spec/models/user_spec.rb:1:in require'
from C:/Users/Natecraft/Documents/railstut/Nate_Enddy_d3/blog/spec/models/user_spec.rb:1:in
' from C:/Ruby200/lib/ruby /gems/2.0.0/gems/rspec-core-2.14.3/lib/rspec/core/configuration.rb:896:inload'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.3/lib/rspec/core/configuration.rb:896:in
load_spec_files' from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.3/lib/rspec/core/configuration.rb:896:in each'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.3/lib/rspec/core/configuration.rb:896:in
load_spec_files' from C: のブロック: /Ruby200/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.3/lib/rspec/core/command_line.rb:22:in run'
from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rspec-core-2.14.3/lib/rspec/core/runner.rb:80:in
run' from C:/Ruby200/lib/ruby/gems/ 2.0.0/gems/rspec-core-2.14.3/lib/rspec/core/runner.rb:17:「自動実行でブロック」
ruby-on-rails - Ruby 2 + Rails 4 + デバイス
非常に小さな devise アプリケーションを ruby 2 と rails 4 にアップグレードしようとしています。rails サーバーを起動しようとしたり、db コマンドを入力しようとすると、bcrypt-ruby (devise の依存関係) が見つからないというエラーが表示されます。
「bcrypt-ruby 3.1.1」をgemfileに追加してバンドルを実行しているため、自動インストールされた依存関係(3.0.1)ではなく、gemfile(3.1.1)にある新しいバージョンのbcrypt-rubyを強制的に使用するにはどうすればよいですかupdate/install では問題が解決しないようです。
Gemfile:
Gemfile.lock
ruby-on-rails - bcrypt_ext. そう (LoadError)
Rails サーバーを起動しようとすると、次のエラーが表示されます。
何か案は?Ruby on Rails 4 と ruby 2.0.0p247 を搭載した 32 ビット Windows 7 マシンを使用しています。gemfile に gem "bcrypt-ruby", "~> 3.1.1" を含めました。
これが私のスタックトレースです。