問題タブ [warden]
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 - Warden :更新オプション
devise (1.5.3) と warden (1.1.1) を使用しており、ユーザーのログイン/登録後に session_id を更新する必要はありません
https://github.com/hassox/warden/blob/master/lib/warden/proxy.rb#L160
ダンプ オプション:
options[:renew] を true に設定しないように devise/warden を設定するにはどうすればよいですか?
ruby-on-rails - 記憶オプションを使用してユーザーをサインアウトするときに、record=nil で呼び出される before_logout フックを考案する
I'm using Devise 2.0.4 (with devise-neo4j), Warden 1.1.1, Rails 3.2.3.
When I sign in without remember me option checked, I can sign out without a problem.
However when I sign in using remember me option I cannot sign out.
Digging in the code I found out that the before_logout hook present in devise-2.0.4/lib/devise/hooks/forgetable.rb
(Warden::Manager.before_logout do |record, warden, options|
) is called with record => nil
.
I'm not sure whether it's Devise bug, Warden's or mine…</p>
The stacktrace is as follows:
ruby-on-rails - 複数のスコープを使用してユーザーがログインしている Devise は、token_authenticateable を使用すると、1 つを除くすべてをログに記録します
私は複数のスコープ (この場合はユーザー スコープと管理者スコープ) で Devise を使用しており、管理者はDevise wiki のアプローチを使用してユーザーに「なる」ことができます。ユーザーと管理者の両方のスコープでログインしたセッションで問題を引き起こす認証トークンの使用を必要とする特定のページがあることを除いて、これはうまく機能します。このページは、ユーザーがユーザー認証トークンを使用してログインする必要があるコントローラーへの POST を生成します。POST は成功しますが、その後、管理スコープはサインアウトされています。(つまり、admin_signed_in? は false を返します。) 認証トークンを必要とせずに同じコントローラーに対して POST を実行する他のページは、管理スコープからログアウトせずに期待どおりに機能します。
その特定のトークンに関連付けられているスコープ以外のスコープの認証がログアウトされる token_authenticatable で何かが起こっていると思われます。token_authenticatable 機能の一部として呼び出すことができる devise sign_out メソッドと warden logout メソッドの両方への参照を devise gem ソースで検索しましたが、何も見つかりませんでした。
これは Devise 1.3.4 で発生しています。どんな助けでも大歓迎です。
ruby-on-rails - sign_in 認証の失敗時に Warden/Devise がリソース名を追加するのはなぜですか?
私はこれを狂ったようにグーグルで検索してきましたが、これまでのところ運がありません。
これまでのところ、sign_in と sign_out は正常に機能しています。彼らは正しい行動にリダイレクトします。私の問題は、sign_in が失敗したときです。「無効なログインまたはパスワード」を表示する空白の HTML ページのように見えるものが表示されます。createアクションによってレンダリングされるテキスト、またはcreateアクションによってレンダリングされるテキスト。AFAIK createは、失敗した場合にのみリダイレクトまたはレンダリングする必要があります。私はカスタム コントローラーを持っており、ここに記載されているデバイス コードを持っている唯一の理由は、動作が発生している場所を確認することです。認証後にカスタム パスにリダイレクトしようとしていないため、この時点で動作を継承するだけで十分です。
ログは次のようになります。
これが私のコントローラーです:
私のルートは次のとおりです。
私はそれが過ぎ去っていないと判断しました
認証失敗時の回線
ウォーデンによる失敗時に、リソース名が何らかの形でログインパスに追加されているようです。例: /login の代わりに /login.user
事前に感謝します。
Rails 3.2、Devise 2.0.4、ラック (1.4.1)、ルビー 1.9.3
ruby-on-rails - Rails 3 と Devise および rspec: Warden テストヘルパーが信頼できない
Rails 3.2 と Devise を使用するアプリケーションがあります。rspec と Capybara を使用したリクエスト テスト スイートがあります。
Capybara にサインイン フォームに記入して送信してもらうのではなく、サインイン ヘルパーで Warden テスト ヘルパーを使用することに移行しようとしました。テスト スイートのサイズと複雑さのために、これによりテスト ランタイムが 1 分半以上節約されます。
私の構成では次のとおりです。
そしてコンテキストで:
ただし、これらの構成を使用してテスト スイートを実行すると、ほぼすべてのテスト実行で、ユーザーがログインしていないかのようにページが表示されるため、ランダムに失敗する要求仕様が異なります。 (具体的には、user_signed_in?
条件によって制御されるリンク)
私の質問: 他の誰かがそのような信頼性の低さに遭遇したことがありますか?どうすれば軽減できますか?
ruby-on-rails-3 - Ajax を介して認証しようとすると、Warden の戦略内のパラメータが空です
Rails アプリでの認証に Warden を使用しようとしています。POSTリクエストを介して通常のフォームで使用すると、正常に動作します。しかし、それを Backbone.js に移動すると、認証されていることがわかりました! メソッドは常に私の失敗アプリを呼び出します。
認証の中にいくつかのロギングを入れました!メソッドを実行すると、params ハッシュが空であることがわかりました。そのように:
空の出力が生成されます: Warden 内のパラメーター: {}
同時に、env['warden'].authenticate! の前にコントローラーのパラメーターを確認できます。と呼ばれます。パラメータがどこに行ったのかを推測することしかできません。私は何を間違っていますか?
ruby-on-rails-3 - Rails の機能テストで、authenticate_user に対して Devise warden エラーがスローされました
新しいアクションを表示するにはユーザーがログインする必要があるリソースがあります。ユーザーがログインせずに新しいリソースを作成しようとすると、ログイン ページにリダイレクト (302) されます。私の機能テストは次のようになります。
スタックトレースは次のようになります。
新しいアクションの前に、authenticate_user への before_filter があります。
なぜauthenticate_userなのか理解できました!失敗していますが、なぜエラーがスローされるのか理解できません。つまり、webapp と同じように動作するべきではありません。ユーザーをログインページにリダイレクトしますか?
ありがとう。
ruby-on-rails-3 - カンカンが使えない
cancan の Rails Casts エピソード 192 をフォローしています (http://railscasts.com/episodes/192-authorization-with-cancan?autoplay=true)。
私はルビー1.9.3とレール3.2.3を持っています
私の宝石ファイルにはこのコンテンツがあります
そして、追加したenvironment.rbファイルに
bundle コマンドを実行すると、これが表示されます...
今私の質問は:私が実行したとき:
なぜ私はこれを見るのですか:
また、私の gem.lock ファイルに表示されるのはなぜですか...