問題タブ [omniauth-facebook]

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 投票する
0 に答える
136 参照

ruby-on-rails - omn​​iauth-facebook Gem: omniauth.auth のプロバイダと uid が nil になることがありますか?

私のアプリケーションは、omniauth-facebook gem バージョン 1.6.0 でユーザーを認証しています。のfacebookアクション内で、とOmniauthCallbacksControllerrequest.env["omniauth.auth"]ハッシュ値が nil になることがあるようです。provideruid

なぜこれが起こるのかについての洞察をいただければ幸いです。これが私のomniauth構成初期化子からの関連コードです

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

ruby-on-rails - オブジェクトをデータベースに保存する

Ruby on Rails 4 アプリがありomniauth-facebook、認証に gem を使用しています。私は持っている

@omniauth[:extra][:raw_info][:education]ここで、ユーザーの学歴 ( ) をデータベースのテーブルのeducation列に保存したいと考えています。オブジェクトを含む Array オブジェクトです (つまり、 を返します)。Auth@omniauth[:extra][:raw_info][:education]OmniAuth::AuthHash@omniauth[:extra][:raw_info][:education][0].classOmniAuth::AuthHash

Rails api によると、「Active Record は、YAML を使用してテキスト列内の任意のオブジェクトをシリアル化できます。そのためには、クラス メソッド serialize への呼び出しでこれを指定する必要があります。これにより、配列、ハッシュ、およびその他のマッピング不可能なオブジェクトを格納できるようになります。追加の作業を行うことなく。」だから私は次のことをしました、そしてそれはうまくいっているようです:

これに何か欠点はありますか?より良い方法はありますか (json を使用するなど)? 私が考えることができる1つの欠点は、この方法でデータを保存すると、おそらく必要のない検索とクエリが難しくなることです.

どうもありがとう。

0 投票する
3 に答える
6788 参照

ruby-on-rails - Rails 4.1.5 omniauth の強力なパラメーター

Rails 4.1.4 を 4.1.5 にアップグレードした後、Facebook omniauth セッションでエラーが発生しました。それ以来、すべてが正常に機能していました。ユーザーセッションを作成すると、ActiveModel::ForbiddenAttributesError

ルート:

セッション#作成コントローラー:

そして、このようなユーザーモデル:

パーミットを追加することで、ActiveModel エラーを回避できます。そのような私のユーザーモデルのメソッド:

しかし、それはデータベースの最初のユーザーを上書きします...session[:user_id]常にデータベースの最初のユーザーのようです。

それが強力なパラメーターの問題なのか、Omniauth の問題なのか、それともその両方なのかわかりません。

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

ruby-on-rails - Omniauth-Facebook gem を使用する場合、メソッド「where」はどこから来るのですか?

以下に示すコードは、rubygem、Omniauth および Omniauth-Facebook を Rails アプリに統合するときによく使用されます。このコードの行ごとの説明が必要です。

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

ruby-on-rails - SessionsController の Omniauth ArgumentError#create 間違った数の引数 (1 対 2) Rails 4

ROR アプリケーションに追加する前に、サンプル アプリケーションに facebook omniauth を組み込むためのオンライン チュートリアルに従っています ( http://richonrails.com/articles/facebook-authentication-in-ruby-on-railsおよびhttps://coderwall. com/p/bsfitw ) しかし、「Facebook リンクからログイン」にアクセスすると、引数の数が間違っているというエラーが表示されます。

これが私のユーザーモデルです(チュートリアルから直接)、エラーが発生しているように見える場所で、3行目がソースとして強調表示されています

セッションコントローラー

そこに 2 番目のチュートリアルのコーヒー スクリプトがありません。使用すると別のエラーが発生します。

どんな助けでも大歓迎です。

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

ruby-on-rails - パス「/users/」のデバイス マッピングが見つかりませんでした。どうして?

現在、devise/omniauth を使用しています。Facebook/Twitter でサインアップした後、「verify-email」というページにリダイレクトして、メール アドレスが正しいことを確認できるようにしたいと考えています。

私は今、localhost:3000/users/verify-emailページを機能させようとしています。その URL にアクセスすると、次のエラー メッセージが表示されます。

パス「/users/update_email」のデバイス マッピングが見つかりませんでした。これは 2 つの理由で発生する可能性があります: 1) ルートをスコープ ブロック内にラップするのを忘れた。例: devise_scope :user do get "/some/route" => "some_devise_controller" end 2) ルーターをバイパスして Devise コントローラーをテストしています。その場合、Devise にどのマッピングを使用するか明示的に伝えることができます: @request.env["devise.mapping"] = Devise.mappings[:user]。

だからここに私のroutes.rbがあります:

スコープ ブロックでルートを間違ってラップしているとは思いません (これは、エラー メッセージの 1 番目で説明されていることです)。それは、どのマッピングを使用するかを明示的にDeviseに伝える必要があるということですか(これはエラーメッセージの#2に関するものです)? エラーメッセージには、これでどのマッピングを使用する@request.env["devise.mapping"] = Devise.mappings[:user].かをdeviseに伝えることができると書かれています。それとも、何か他のことが起こっていると思いますか?

「custom_devise_controllers/registrations_controller.rb」を含めます。

ありがとう!私のコードについてさらに情報を知りたい場合は、お知らせください。