問題タブ [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 - Heroku での Facebook ログインのソーサリー エラー
Noam Ben Ari のすばらしい宝石Sorceryを使用していますが、理解できない問題があります。
Facebook ログインはローカル サーバーでは正常に機能しますが、Heroku では機能しません。
Rails 3.1.0、Sorcery 0.6.1 で彼自身のサンプル コードを使用しています。
犯人のコントローラーは次のとおりです。
ローカルサーバーで正常に動作します。サーバーで Heroku ログを読み取る以外に、エラーを追跡する方法はありますか?
ruby-on-rails - 資格情報を変更せずにユーザーを更新する方法
ソーサリー ジェムを使用して認証を管理します。以下のコードを見ることができます。
models/user.rb
コントローラー/users_controller.rb
_form.html.erb
資格情報であるパスワード、電子メール、ユーザー名に影響を与えずに、住所、電話番号などのユーザー情報を編集するにはどうすればよいですか。
ruby - RSpec テストで Sorcery にアクセスするにはどうすればよいですか?
ソーサリー認証ジェム: https://github.com/NoamB/sorcery
Sorcery の作成者は、Test::Unit 機能テストに含まれる Sorcery テスト ヘルパーを使用したサンプル Rails アプリを提供しています: 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 3」に従って、実際include Sorcery::TestHelpers::Rails
にspec_helper.rb
.
Sorcery テスト ヘルパーlogin_user
は で動作しますが、がコントローラーの仕様に@controller
あるため、エラーが発生します。これが私の仕様です:@controller
nil
ruby-on-rails-3.1 - Rails3.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 に current_user も参照する before_filter があるため (モックで予期しないメッセージが表示される)、最初はこのテストが失敗するため、モックを null オブジェクトにすることを考えました (上記のコメントアウトされた領域を参照)。
ただし、これを行うと...テストが終了した後(ただし、次のテストに進む前に)、テストスイート全体が無限ループのようにハングします。
誰もこのようなものを見たことがありますか?.as_null_object を間違って使用していますか?
編集:いくつかのことを明確にするためにlogin_user
、テストで認証するためにソーサリーが提供するヘルパーであり、:user_settings
ファブリケーターはタイムゾーンを含むハッシュを作成しているだけです。
ruby-on-rails - ソーサリー登録が通らない
ユーザーの認証に Sorcery gem を使用しようとしていますが、登録フォームに入力した後、エラーが発生して登録ページにリダイレクトされます。ただし、コンソールからユーザーを作成することはできます。
ログファイル:
users_controller.rb
モデル/user.rb:
config/initializers/sorcery.rb:
魔法の移行:
ruby-on-rails-3 - Railsソーサリーのバグ?重複したユーザー アカウントを作成する
github に示されているソーサリー コードの例は、複数のサインイン方法を許可するように拡張すると、重複するアカウントを作成するように見えます (これが oauth の要点です)。ここのスニピットで、login_from() が成功しない場合に create_from() が呼び出されることがわかります。
GitHub AT 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」フィールドでエラーが発生することなく、単純なフォームをSorceryの「ログイン」と統合することはできません(最も単純なタスクのように思われます)。
単純なフォームには、simple_form_tag(simple_form_forのみ)オプションがありません。これは、セッションコントローラーの新しいメソッドからのログインフォームで最適に機能します。代わりに、そのメソッドで@userインスタンスを作成する必要がありますが、「remember_me」フィールド「undefinedmethod`remember_me」でエラーが発生します。
どんな助けでも大歓迎です。
私は大いに意味します!事前に大いに感謝します:)
ruby-on-rails - Rspec - Sorcery メソッド/変数へのアクセス
テスト駆動開発を使用してコードを拡張する目的で、既に作成したコードのテストをいくつか作成しようとしています。
インデックス アクションが「user_info」メソッドを呼び出すコントローラーがあります。このメソッドは、ソーサリーの current_user 変数に依存するいくつかのインスタンス変数を収集するだけです。例えば:
このコード ベースをテストする感覚をつかむために、rspec を使用していくつかのテストを書き始めました。私のコントローラーの仕様は非常に基本的で、次のようになります。
ただし、この仕様を実行しようとすると、次のエラーが発生します: NoMethodError: undefined method 'a' for false:FalseClass
まず第一に、仕様に Sorcery メソッドの current_user を認識させるにはどうすればよいですか? そして、好奇心から、current_user が FalseClass のインスタンスとしてフラグ付けされているのはなぜですか? Sorcery メソッドを呼び出していない場合 (そして、コード内の他の場所で current_user を定義していない場合)、nil として表示されるべきではありませんか?
ruby-on-rails - ソーサリーのRails管理者
Deviseの代わりに認証にSorceryを使用してRailsAdminGemをインストールしようとしています。
Rails管理者は、独自の認証方法をアタッチするために使用できるフックを提供します。これが彼らが彼らのドキュメントで提供している例です(wardenを使用して):
ブロック内で、before_filter
Sorceryがユーザーの認証に使用するを参照する必要があると思います。これはですrequire_login
。
ただし、それを試し/admin
、ログアウト時にアクセスしようとすると、ルーティングエラーが発生します。
これはおそらく、メインアプリではなくエンジン内でリダイレクトされているために発生します。
どうすればこれを正しく設定できますか?