問題タブ [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.

0 投票する
2 に答える
320 参照

ruby-on-rails-3 - page.should have_content('subscribem@example.comとしてサインイン')

RyanBigg著の『 Multitenancy with Rails』の手順に従っています。このエラーに遭遇しましたが、何が間違っているのかわかりません。

エラー:

sign_up_spec.rb

アカウントモデル

ユーザーモデル

アプリケーションコントローラー

アカウントコントローラー

application.html.erb

0 投票する
1 に答える
485 参照

ruby-on-rails-3 - リダイレクトのために 401 ではなく 406 を返す JSON API を考案する

適切な認証なしでエンドポイントをリクエストしようとすると、401 とエラー メッセージを返すようにデバイスを取得しようとしています。

現在、これが起こっていることです:

2013-02-27 02:40:22 に 127.0.0.1 に対して GET "/api/v1/home/index.json" を開始 +0000 HomeController#index で JSON として処理完了 0ms で 401 Unauthorized

2013-02-27 02:40:22 に 127.0.0.1 の GET "/api/v1/sign_in.json" を開始 +0000 JSON として SessionsController#new で処理 406 Not Acceptable in 1ms (ActiveRecord: 0.0ms)

devise が私を sign_in にバウンスするのを止めて、代わりに 401/json 応答を返すようにするにはどうすればよいですか?

これは私が試した CustomFailureApp に関係している可能性があると考えていますが、この特定のシナリオで CustomFailureApp が呼び出されているかどうかはわかりません。

0 投票する
2 に答える
10668 参照

ruby-on-rails - RSpec、リクエスト仕様でDeviseユーザーを認証

サービスAPIをテストするためにRSpecリクエストの仕様を作成しようとしています。そのためには、ユーザーを認証する必要があります。ネット上でいくつかの例を見つけましたが、何も機能しません。今のところ、これで行き詰まっています。

そして、私が得ているエラーは次のとおりです。

ご協力ありがとうございました。

0 投票する
1 に答える
3535 参照

ruby-on-rails - ワーデンが機能しないためのカスタム失敗アクションを宣言する

現在、監視員マネージャーでは、カスタムの失敗アプリが宣言されています。

ただし、私の戦略の 1 つで、別の失敗アクションを使用したいので、失敗でカスタム アクションを次のように宣言しようとしました。

そして私のコントローラーアクションでも:

ここに私の失敗アクションがあります:

しかし問題は、それを無視しているように見え、マネージャーで宣言されたアクションのみを呼び出していることです。私が間違っている可能性があることを知っている人はいますか?

0 投票する
0 に答える
2090 参照

ruby-on-rails-3 - Omniauth、Ajax、Rails を使用したモーダル内での Facebook ログイン

現在、モーダル内からオムニ認証を使用して、ソーシャル ネットワーク (この場合は facebook) 経由でサインインできるように取り組んでいます。成功した場合に特定の dom の変更が必要になるため、ajax 呼び出しも使用したいと考えました。

coffeescript での実際のクリック関数は次のとおりです。

ただし、ajax リクエストを行うと、ルートに設定されたコントローラー アクションに実際にヒットすることはありません。手動で URL として取得または投稿する場合は問題なく動作しますが、それをスキップしてコールバック ルートに直接投稿しようとしてもうまくいかないようです。

また、リンクするURLに投稿する別の方法も試しました。

これはコントローラーにヒットしましたが、ワーデン経由で認証しようとすると、omniauth パラメータが設定されませんでした。だから私はちょっと立ち往生しています。誰が私が間違っている可能性があるかについて考えを持っていますか?

0 投票する
2 に答える
1043 参照

ruby-on-rails - Devise認証で削除されたスコープを使用する

Rails アプリで認証を処理するために Devise を使用しており、permanent_records を使用してユーザーを論理的に削除しています。私の User モデルのデフォルトのスコープは、削除されていないユーザーです。ユーザーが自分のアカウントを削除 (非アクティブ化) した場合、Facebook と同様に、ログインすることでアカウントを再アクティブ化できるようにしたいと考えています。問題は、Devise が削除されたユーザーを探す方法を知らないため、アカウントが見つからないことです。sessions#create メソッドをオーバーライドすることを考えました

しかし、これは Warden によって処理されているため、運が悪いようです。深く掘り下げ始めると、物事を壊し始めるのではないかと心配しています。

何か案は?

ありがとう!

0 投票する
2 に答える
979 参照

ruby-on-rails - Deviseのauthenticateメソッドとcurrent_userメソッドをカスタマイズして、論理的な削除/パラノイドとして機能するようにします

Rails 3.2 アプリの認証として Devise を使用しています。私のユーザー モデルは User と呼ばれ、論理的な削除を実装しようとしています。私はacts_as_paranoidを使用してこれを実行しようとしています.acts_as_paranoidは自動的に作業を行います. 非アクティブ化されたユーザーがログインして「非アクティブ化」画面を表示し、アカウントを再アクティブ化する機会を与えたいことを除いて、物事は期待どおりに機能します (他のユーザーは「削除された」ユーザーを見ることができなくなります)。

問題は、Devise (Warden?) が削除されたユーザーを見つけられなくなったことです。Acts_as_paranoid では、スコープ "with_deleted" を使用すると、論理的に削除されたレコードにアクセスできます。だから私はそこへの道のりの一部を得ることができます:

これをユーザーモデルに入れました。ログイン情報を入力すると、ログインに成功したというフラッシュメッセージが表示され、ユーザーモデルの「updated_at」列に触れて、ただし、認証されたメソッドが false を返し、current_user ヘルパー メソッドが nil を返すという意味では、実際には認証されません。では、これらを機能させるための最善の戦略は何ですか? with_deleted スコープで User モデルをクエリするように current_user メソッドをオーバーライドできますか? find_first_by_auth_conditions メソッドで行ったように条件を追加するなど、warden で何かをする必要がありますか? これを行う方法がわかりません。どんな助けでも大歓迎です!

また、機能させた後、すべてのソフト削除されたユーザーを「非アクティブ化」ページに自動的に送信したいと思います。ここで唯一のオプションは、完全に削除または再アクティブ化することです。「authenticated :user do {} end」を介したルーティングでこれを行う方法はありますか?それとも、application_controller に before_filter を入れて、リクエストごとにユーザーをチェックする必要がありますか?

0 投票する
1 に答える
18295 参照

ruby-on-rails-3 - Rails Devise 401は特定のページに対して許可されていません

アプリが 401 Unauthorized を返す理由がわかりません。サインインしていなくても、機関コントローラーの他のアクションは正常に機能しています。ただし、このページと別のページは 401 を返しています。ログインしている場合、これらのページは完全に正常に動作しますが、ログインする必要はありません。ビューとアクションを空にする限り、ページは 401 を返します。フィドラーを使用してデバッグすると、単に 302 リダイレクトを受け取ります。

私は他の場所で調査を試み、Warden認証リコール401 Unauthorizedの解決策を試しましたが成功しませんでした。

コンソール

次に、フォームを送信します。メソッドはGETとして設定されます

関連ルート

レーキルート

Gemfile

0 投票する
0 に答える
101 参照

ruby-on-rails - エンジンの Warden 障害アプリケーション

私は Rails 4 beta1 エンジンを 3 つ持っています。各エンジンには異なるウォーデン戦略があります。したがって、私の問題は、グローバルな障害アプリケーションがあることです。すべてのエンジンに独自の障害アプリケーションが必要です。どうやってするの?

下手な英語でごめんなさい:)

ありがとうございました!

0 投票する
1 に答える
1328 参照

ruby-on-rails - :token_authenticable を使用した Devise のカスタム認証戦略

を使用してデバイスでカスタム認証戦略を実装する方法を知りたいですdevise :token_authenticable

ここdevise :database_authenticatableでカバーされているモデルを使用してそれを行う方法についての説明はすでに見つかりました。

認証しようとしているモデルの名前はPupilです。したがって、これが私の現在の戦略です( にありますconfig/initializers/custom_auth.rb):

そして私のconfig/initializers/devise.rb(またなしで試してみました:scope => :pupil):

したがって、これによりユーザーはログインできなくなりますが、 から に切り替えると、どういうわけかこの戦略は適用されませdevise :database_authenticatabledevise :token_authenticable

多分私はちょうど:scopeここに欠けています。

さて、奇妙なことに、ユーザーが無効なトークンを入力するたびに、私の戦略が呼び出され、「あなたはパスしないでください!」となります。返されます。ただし、正しいトークンが提供されると、ユーザーは問題なくログインできます。