問題タブ [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 - Rails Devise / LocalStorage の Warden セッション
認証にDeviseを使用しているRails 3.2でWebアプリを開発しています。これはブラウザーでは問題なく動作しますが、(よりネイティブに見えるようにするために) ホーム画面に保存すると、問題が発生します。
「アプリ」を終了するたびに、すべての Cookie とセッションが消去されます。そのため、次にユーザーがアプリを開いたときに、もう一度ログインして、前回の場所に戻る必要があります。
おそらくHTML5 LocalStorageまたはToken Authenticableを使用して、これに代わるソリューションを探していますか?
しかし、どこから始めればよいかわかりません。助けていただければ幸いです。
ruby-on-rails - デバイスのサインアップ後にリダイレクトしますが、ユーザーはログインしていません
サインアップ後にネストされたフォームパラメータに基づいてサブドメインにリダイレクトするようにユーザーを設定しています。ただし、リダイレクトを実行すると、ユーザーはログインしません。戻って手動でユーザーをログインでき、ユーザーが作成されたことを確認できます。登録後すぐにセッションが作成されていないように見えます。
ユーザーをリダイレクトするために使用している方法は次のとおりです(registrations_controller.rb内)。
サブドメインへのルーティングは正常に機能します。
URLからサブドメインを削除して更新するとログインしているため、これはサブドメイン間でセッションを共有する際の問題だと思います。
私はこれを私のapp/config / initializers /session_store.rbファイルに追加しようとしました:
ruby - Errno::ECONNREFUSED: 接続が拒否されました - connect(2) test_helper.rb
私はRubyが初めてで、何かを理解するためにいくつかの支援が必要でした:私はこのエラーで2日間立ち往生しています。接続の問題が分かれば、すべてが完全に機能することがわかります。助けてください。
#test_helper.rb #test/ユニット/project_test.rb #スタックトレース:ruby-on-rails - カスタム戦略を無視する
API にアクセスするためのカスタム認証戦略を作成したいと考えています。カスタム戦略を無視して、Deviseのサンプル コードに従いました。
問題は有効なのですか?私のApi戦略のメソッドは決して実行されません(それをこじ開けようとすることに基づいています)。
私のコード:
そしてデバイス初期化子で:
私が何をしても、Devise は常にデフォルトの戦略を使用しているようです。私の知る限り、これで十分なはずです...
- - - -編集 - - - -
デバイス初期化子の一番上に、次のような戦略が必要です。
クラス内に pry 呼び出しを配置すると、pry セッションが開始されるため、戦略がブート時にロードされることはわかっています。ただし、メソッド内の Pry 呼び出しは実行されません。:-S
ruby-on-rails - Warden コールバック、Ruby on Rails を使用して、ユーザーがログアウトしようとしているときに警告ポップアップを表示する必要がありますか?
Warden::Manager.before_logout ? config/initializers/devise.rb に次の warden コールバックがあります
私のアプリケーションコントローラーには、before_filterによって呼び出されるこのアクションがあります
次に、Java スクリプトを使用して、モーダル ポップアップを表示しようとしています。しかしどうやら、session[:logout] はまったく true になっていません。
application_controller.rb の Warden::Manager.before_logout によって設定されたセッション変数にアクセスできませんか?
ruby-on-rails - Devise - 複数ユーザー用のシングル サインイン フォーム
User と Business の 2 つの Devise モデルがあります。両方が単一のサインイン フォームを使用してサインインできるようにしたいと考えています。私はバックボーン js を使用しており、カスタマイズされたビューを持っているので、ビューは問題ではありません。ログインには ajax リクエストが使用されます。ユーザーには期待どおりに機能しますが、ビジネスには機能しません。
私はグーグルを検索し、これを解決するためにSTIを使用することについて言及しているいくつかのソリューションに出くわしましたが、プロジェクトは非常に完了しており、現在そのような変更を行うことはできません. 私は、Devise セッション コントローラーをオーバーライドする方向に沿って考えていました。
- 指定されたメール アドレスがユーザーかどうかを確認し、Warden を使用してユーザーを認証します。
- その電子メールを持つユーザーが見つからない場合は、Warden を使用してビジネス モデルで認証します。
上記を実現するためにコードを変更する方法がわかりません。ワーデンがどのように機能するか、上記を実現するためにどのパラメーターを調整する必要があるか、どの関数を呼び出す必要があるかわかりません。誰かが私を正しい方向に向けたり、これをどのように進めるべきかの例を提供できますか.
ありがとう。
ruby-on-rails - そのユーザーが認証されることを検出する方法は?(認証前)
Deviseがユーザーをログインページにリダイレクトする前にコールバックをトリガーする必要があります。おそらく、authenticate_user!
メソッドがユーザーがログインしていないことを検出したためです。
呼び出されていない場合authenticate_user!
は呼び出さないでください。
devise - nil:NilClass の未定義のメソッド failure_app
Rails アプリからデバイスを使用して、Rack ミドルウェア内の Sinatra アプリケーションへのアクセスを許可しようとしています。
私のconfig/routes.rbには次のものがあります:
私の Sinatra アプリでは、以下を使用します。
ここで、次のスタック トレースでエラーが発生します。
ruby-on-rails - Rails + Deviseを使用して、セッションCookieを「手動で」検証するにはどうすればよいですか?
認証にDevise(2.1.2)を使用するRails(3.2.5)アプリがあります。
次のセッション Cookie があるとします。
「手動で」検証できる方法はありますか。つまり、Devise または Warden でメソッドを直接呼び出して偽造ではないことを確認する方法はありますか? 私は次のようなことを想像Devise::SomeModule.is_session_cookie_valid?(session_cookie)
しています:
の情報session_cookie
が十分でない場合、他に何が必要ですか?
ruby - Sinatra アプリで Warden を使用できません: env['warden'] は nil を返します
Sinatra Rack アプリを作成していて、認証に Warden を使用したいと考えています。私はherokuのツールベルトを使用しているので、アプリを実行するためにフォアマンを使用しています。これを機能させると思われるコードをいくつか見つけました。残念ながら、実際に Warden env オブジェクトにアクセスしようとすると、nil になります。
sinatra_warden gemを使用しようとしましたが、独自のバグもあります (これに関連している可能性があります)。
config.ru:
web.rb:
config/warden.rb:
バージョン:
- シナトラ: 1.1.0
- ウォーデン: 1.2.1
- ラック: 1.4.1
- ルビー: 1.9.3p194
- 職長: 0.60.0
私が説明したセットアップで Warden を使用する方法について何かアイデアはありますか?
(PS好奇心から、env変数とは正確には何ですか?)