問題タブ [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 - 無効なソルト (BCrypt::Errors::InvalidSalt)
Ruby 2.2.0 にアップグレードしてから、テストで次のメッセージが表示されます。
問題を理解するのに役立つアップグレード通知は見つかりませんでした。Rails 4.1.8 と Sorcery 0.8.6 を使用しています。
他にこの問題を抱えている人はいますか?
詳細:
私はDeviseではなくSorceryを使用しています。暗号化されたデータがパスワードです。すべては Cucumber テストで始まりました。2 つのケースがあります。 @user をメーラーに送信して、メールのデータを準備していたときです。コードは次のとおりです。
UserMailer.passphrase_reset_notification(@user).deliver
最初のメッセージに書いたメッセージで例外が発生しました。@user を送信する代わりの回避策として、必要なフィールドを送信しましたが、うまくいきました。新しいコードは次のとおりです。
UserMailer.passphrase_reset_notification(@user.name, @user.email).deliver
しかし、2番目のケースはサインアップです。開発に失敗したため、:salt を user_params に追加して修正する必要がありました。しかし、テスト環境の問題は修正されません。
スタック トレースはありません。エラーにつながる私のシナリオの行を含む 1 つのライナー メッセージだけです。
そして、無効なソルト (BCrypt::Errors::InvalidSalt) ./app/controllers/users_controller.rb:66:in block in create'
./app/controllers/users_controller.rb:64:in
create' ./app/controllers/application_controller.rb:120:in scope_current_tenant'
./features/step_definitions/web_steps.rb:53:in
/^(? :|I )press "([^"]*)"$/' features/users/sign_up.feature:149:in `そして、「サインアップ」を押します'
user テーブルのフィールド「salt」の「null: false」を削除しました。多かれ少なかれ同様の問題に関する投稿でコミュニティ メンバーが提案したように、どちらも役に立ちませんでした。
私の主な質問は同じです: Ruby の新しいバージョン (2.2.0) はこれと何の関係があるのでしょうか? また、製品をアップグレードすると、他にどのような驚きがありますか?
ruby-on-rails - アクティベーション トークンからの Rails ロードがロードされない
ユーザーをアクティブ化するためにアクティベーション トークンからユーザーを読み込もうとしましたが、どういうわけか失敗しました。
ユーザーは存在し、開いていて、アクティベーション トークンを持っていますが、load_from_activation_token はそれを見つけることができません。ユーザーをアクティブ化する他の方法はありますか?
ruby-on-rails - ソーサリーでのカスタム ユーザー アクティベーション メソッド
Rails 4 アプリケーションでsorcery gemを使用しています。ソーサリーが構成できると言う2つの属性を構成する必要がありますが、実際にこれらの値を構成する方法がわかりません。
問題の 2 つの属性は次のとおりです。
と
これらのメソッド名をカスタマイズするにはどうすればよいですか?
ruby-on-rails - Rails Sorcery は、パスワードなしでモデルの属性を更新します
Rails 4.1 アプリケーションでユーザー認証にソーサリーを使用しています。すべて正常に動作します。しかし、(ソーサリーによって認証された) ユーザー モデルの特定の属性を更新しようとすると、パスワードが空白で短すぎるというエラーが表示されます。
これはコンソールからのスニペットです
ここに私のモデルコード
app/models/user.rb があります
私のコントローラーコード
app/controllers/users_controller.rb
そして私の更新フォーム
app/views/users/edit.html.erb
フォームからパスワード フィールドを削除すると、パスワードが空白であることとパスワードの長さに関するエラーが表示されます。これは魔術と関係がありますか、それともレール自体に欠けているものですか? 他に影響を与えずに電子メールフィールドのみを更新するより良い方法はありますか?
ruby-on-rails - Sorcery gem - redirect_or_back_to メソッドの使用方法
ログインしていないユーザーがこのページの [Deja Tu Opinion] ボタンをクリックすると:
...ユーザーはログインページにリダイレクトされ、「続行する前にログインまたはサインアップする必要があります」というメッセージが表示されます。私はこれを行いました - ここでは問題ありません。
「Deja Tu Opinion」ボタンは、new_testimonial_path に移動します。ただし、ログインしていない場合は、ログイン ページにリダイレクトされます。「require_login」メソッドを記述し、アプリケーション コントローラーを配置することでこれを実現しました。
次に、証言コントローラーで宣言しました。
ログインすると、root_path にリダイレクトされます。
ただし...私が望んでいるのは、この状況では、root_pathに戻るだけでなく、new_testimonial_pathに誘導されることです。
つまり、要約すると、ログインしていないユーザーが「自分の意見を書く」ボタン (「自分の証言を書く」という意味) をクリックすると、ログインしていないため、new_user_session_path に誘導されます。次にログインすると、root_path に戻ります。そこで、ページをもう一度下にスクロールして、[Deja tu Opinion] ボタンをクリックする必要があります。これにより、new_testimonial_path に移動します。
ログインしていないユーザーが「意見を聞く」ボタンをクリックすると、ログインしていないため、new_user_session_path に誘導されます。次にログインすると、new_testimonial_path に誘導されます (最初にそれを望んでいたためです)。
私は Sorcery gem を使用しました。「redirect_back_or_to」と呼ばれるこれを実現する方法があると確信していますが、ドキュメントからその使用方法を理解することはできません。
アプリのコード全体 (create_testimonials ブランチ): https://github.com/Yorkshireman/pamplona_english_teacher2/tree/create_testimonials
ソーサリーのドキュメント: https://github.com/NoamB/sorcery
あなたが助けてくれることを願っています!
ruby-on-rails - ソーサリー ジェム - Logged_in? 常に false を返す
Rails を使用して非常に単純な Web アプリを作成しようとしています。ユーザーを認証するために Sorcery gem を使用しています。ここのGitHubページのチュートリアルに従いましたが、どこにも行きません.
おそらく関連していると思われる2つの問題があります。まず、この before_filter を使用するとskip_before_filter :require_login, only: [:index, :new, :create]
、ユーザーはログインせずにページにアクセスできます。
もう 1 つの問題は、ユーザーがログインしようとするとリダイレクトされず、組み込みのヘルパーを使用するlogged_in?
と常に false が返されることです。ログイン時のエラーメッセージはありませんでしたが。
適切なコントローラーを追加しました。他に何か調べる必要がある場合はお知らせください。
ありがとう。
user_sessions_controller.rb
users_controller.rb
application_controller.rb
ruby-on-rails - Sorceryと0auth、rails 4を使用した未定義のメソッド「login_at」
この Rails プロジェクトで Oauth をセットアップしようとしていますが、ビューで「login with ...」をクリックするたびに、「login_at」の未定義のメソッド エラーが表示されます。私のソーサリー構成ファイルには、特定の外部サブモジュールが含まれています
Rails.application.config.sorcery.submodules = [:remember_me, :external]
しかし、私はまだそのエラーを乗り越えることができません。どんな助けでも大歓迎です
ruby-on-rails - Rails4, sorcery Gem で複数のモデルを設定する方法
User モデルを normal_user と admin_user に変更します
そして、私はウェブ上で両方のユーザーを認証したい
私の計画は、web ページのみを使用する normal_user と、管理者ページまたはクライアント ページのみを使用する admin_user です。
以下のソーサリー構成ファイルは、1 つのモデルのみをサポートします。
しかし、私は User と AdminUser をサポートしたいと思っています。
複数のauthencatinユーザーを設定するファイルまたは別のソリューションを構成する方法は?