問題タブ [devise]
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 - Devise Authentication を既存のユーザー構造に組み込みますか?
50 を超える列を持つユーザー テーブルを備えた、完全に機能する認証システムがあります。シンプルですが、ソルトでハッシュ暗号化を行い、ユーザー名の代わりに電子メールを使用し、管理者を持つ 2 種類のユーザーも持っています。
電子メールの検証、パスワードの忘れ、トークンの記憶などの追加部分を強化するために、Devise 認証をアプリケーションに組み込みたいと考えています。既存のユーザー構造に工夫します。私のユーザーモデルの必須フィールドは次のとおりです。
参考までに、移行の Devise フィールドは次のとおりです。
それは最終的にスキーマ内のこれらの実際のフィールドに変わります。
皆さんは何をお勧めしますか?移行から email、hashed_password、salt を削除し、5 つの Devise 移行フィールドに入力するだけで問題ありませんか?それとも何か他のことをする必要がありますか?
編集:
私はこれを自分で試み始めましたが、すでにいくつかの問題に遭遇しています。上に示したデバイス移行フィールドを既存のユーザー モデルに追加しました。シード ファイルを実行すると、次の Postgresql エラーが表示されます。
私のシードファイル:
ユーザーモデル:
スタック トレースは、電子メールが何らかの理由で残りの変数で明らかにフィードされていないことを示しています...シード ファイル内の他のすべてが実際のクエリに表示されますが、電子メールは何らかの理由で '' です。それは明示的に定義されています.auth
ruby-on-rails - Warden + Devise Authentication Gems for Ruby を使用した Twitter Oauth 戦略
Warden (別の auth gem) に基づく Ruby の認証 gem である Devise は、認証戦略として Twitter Oauth をサポートしていませんが、Warden はサポートしています。Devise 内で Warden Twitter Oauth 戦略を使用する方法はありますが、私にはわかりません。デバイス構成ファイルで次のブロックを使用しています。
しかし、私はあらゆる種類のエラーメッセージを受け取り続けています。これを機能させる方法を知っている人はいますか?ここでやるべきことは他にもあると思います (Warden と通信するための新しいリンク/ルートを構成する、Devise User モデルに属性を追加するなど) が、それらが何であるかわかりません。助けてください。
ruby-on-rails - RoR Devise: ユーザー名またはメールアドレスでサインイン
ユーザーがメールアドレスまたはユーザー名でログインできるようにする最善の方法は何ですか? 認証に warden + devise を使用しています。おそらくそれを行うのはそれほど難しくないと思いますが、必要なものすべてをどこに置くかについて、ここでアドバイスが必要だと思います. おそらく、デバイスはすでにこの機能を提供していますか? config/initializers/devise.rb のように、次のように記述します。
サインインのためにユーザー名と電子メールの両方を要求するには。ビューで次のように見えるはずです。
ruby-on-rails - パーシャルを使用した Rails カスタム プラグイン/Gem
ビューのヘルパーを提供する宝石を書いています。ヘルパー経由で挿入したい HTML は複雑なので、_partial.html.erb ファイルに書きたいと思います。アプリケーションの load_path に含まれる gem のビュー パスを取得するにはどうすればよいですか?
注: このようなことを行う唯一の gem は Devise です。ビューが見つからない場合、Rails は (私のマシンでは) 次のようなロード パスを出力します。
Devise はどのようにそれを行いますか?
私の宝石: http://github.com/jrmurad/SortableNestedSet デバイスの宝石: + http://+github.com/plataformatec/devise
ruby-on-rails - Devise で追加の関連モデルを作成する
私は、Devise を使用して新しいプロジェクトの実装を開始しました。これは、ユーザーを処理するのに非常に優れています。ただし、ユーザーがサインアップすると、モデルを作成するだけでなく、会社を表すUser
関連モデルも作成する必要があります。Account
追加のユーザーもbelongs_to
このAccount
モデルになります。
かなり一般的なパターンのように思えますが、Devise でこれに対するフックを見つけることができないようです。これのベストプラクティスは何ですか?
Account
また、sign_up フォームで提供する必要があるフィールドがいくつかあることにも言及する必要があります。そのため、User
モデルでは次のようになります。
..会社名の取得方法がわからないため。
ruby-on-rails - acl9 と Devise はうまく連携していないようです
ACL9 によってアクセスが制御されるユーザー モデルがあります。
でUsersController
:
でApplicationController
:
サインイン ページの URL を入力しても問題ありませんhttp://localhost:3000/users/sign_in
が、たとえば、最初にユーザー ページを入力すると、上記のロジックによって自動的にサインイン ページにリダイレクトされることが予想されるため、問題が発生します。
http://localhost:3000/users/1
=>無限リダイレクト地獄。users/1
にリダイレクトする代わりに、再び にリダイレクトしようとしusers/sign_in
ます。
何がうまくいかないのかについて意見を持っている人はいますか?
ruby-on-rails - Deviseを使用して確認する必要があるサインアップ確認メールを送信する
Railsアプリでユーザー認証を処理するためにdeviseを使用しています。ユーザーがサインアップして即座にログインし、確認メールを受信できるようにしたいと考えています。
Devise には、メールを送信する Confirmable モジュールがありますが、ユーザーはメール アプリケーションを開いてメールを見つけ、リンクをクリックする必要があります。リンクをクリックすると、再びサイトに移動します。
ユーザーがサインアップしたことを確認するメールをユーザーに送信したいのですが、それだけです。
devise がこれを行う方法はありますか、それとも ActionMailer を自分で処理することを解決する必要がありますか (もしそうなら、簡単で複雑でない例はありますか)?
どうもありがとう!
-トニー
ruby-on-rails - Deviseを使用して既存のサイトに確認可能なモジュールを追加する
Webアプリにdeviseを使用していて、確認可能なモジュールをサイトに追加したいと思いました。ただし、confirmation_tokenが生成されないため、ユーザーはサインインできません。[確認の指示を受け取りませんでしたか?]をクリックすると、リンクトークンはまだ生成されていません。
確認メールはこのリンクを生成するだけです(URLにトークンがないことに注意してください):
これを機能させるための最良の方法は何ですか?
どうもありがとう、
トニー
ruby-on-rails-3 - DoubleRenderErrorを工夫する
アプリケーションスタック: Rails3、CanCan、Devise、Shoulda
ネストされたリソースがいくつかあり、Shoulda でテストしたいのですが、次の DoubleRenderError が発生します。
このテストでは、認証されていないユーザーがネストされたリソースにアクセスできるかどうかを確認します (アクセスすべきではありません)。
試験方法
コントローラーの方法:
認証されたユーザーを使用したすべてのテストは正常に機能します-誰かが私にヒントを与えることができます. どうもありがとう!ベン
ruby-on-rails - deviseのdatabase_authenticatableの「ストレッチ」とはどういう意味ですか?
config / initializers / devise.rbに、「config.stretches」という構成があります。
どういう意味かわかりませんstretches
。パスワードを「再暗号化」したいときだと書いてあります。なぜ、私たちのパスワードは再暗号化されるのですか?そして、なぜ「時間」を指定する必要があるのですか?