問題タブ [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.
ruby-on-rails-4 - 「組み込みブラウザ OAuth ログイン」を有効にしてコールバック URL を指定した後でも Facebook コールバック エラーが発生する
Facebook ログイン機能を使用する rails(4.2.0) アプリケーションがあります。主な gem は devise(3.4.0) と omniauth-facebook(2.0.0) です。Facebook にアプリケーションを登録し、開発用のテスト アプリを使用しています。Facebook ログイン機能は開発環境で動作します。
本番サーバーで facebook ログイン機能を使用しようとすると、「指定された URL はアプリケーション構成で許可されていません: 1 つ以上の指定された URL がアプリの設定で許可されていません。Web サイトの URL またはキャンバス URL、またはドメインは、アプリのドメインの 1 つのサブドメインである必要があります。」
開発環境で使用されているテストアプリの設定の詳細は次のとおりです-
本番環境で使用されている登録済みアプリの設定の詳細は次のとおりです-
secrets.yml で以下を指定しました
そして、deviseイニシャライザーでsecrets.ymlのcredsを次のように使用しています
実際のドメイン名 (黒塗り) はどこにもタイプミスがなく、どこで使用しても同じです。
omniauth に関連する routes.rb の内容は次のとおりです。
ルートは以下の通り
アプリ全体で omniauth に関連する唯一のコードは次のとおりです。
ruby-on-rails - Ruby on RailsでDeviseを使用したOmniAuth facebookがapp_idを渡さない
Devise を使用して Rails アプリケーション (4.1.10) をセットアップしています。このデバイスガイドを使用して、OmniAuth Facebook 統合を追加しています: https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview
必要な設定はすべて完了したと思います ( app_id と secret を ENV 変数に入れる必要があることは承知しています - これが機能したら次に進みます)。
設定はここにあります:
User モデルには omniauthable セットがあります。
では、リンクをクリックすると、適切な ID が見つからないのはなぜですか?
ruby-on-rails - Rails 4、omniauth-facebook、rack-cors、Heroku での CORS の問題
概要:
CORSに問題があります。Rails API を使用して React アプリから Facebook で認証しようとしています。
アプリは localhost:8080 で実行され、API は Heroku で実行されます。
Facebook にログインしてコールバックでセッションを作成することはできますが、Facebook によって設定された Cookie が omniauth によって取得されません。omniauth-facebook クライアント側認証を使用しています。
私のラックコアの構成のどこかに問題があると思います。localhost:3000 で API を実行すると機能します。
以前、エラーを受け取りましたが、これはomniauth 構成csrf-detected
に追加することで解決されました
。後で、 cors 呼び出しが Cookie を渡すために必要でprovider_ignores_state: true
あることがわかりました。xhrFields: { withCredentials: true }
最終的な解決策: 最後に、アプリケーションを AWS 53 にドメインと共にデプロイexample.com
し、Heroku の API に CNAMES 'api.example.com` を作成して、この問題を解決します。
CNAMES の解決には 1 日かかります。example.com
コマンド hostおよび hostを使用して、ターミナルでセットアップをテストできますapi.example.com
。
別の解決策は、nginx をプロキシとして使用することです。
バージョン:
問題:
ルート:
アプリケーション.rb:
Omniauth.rb:
Secret.yml:
クライアント:
セッションコントローラー:
アプリケーションコントローラー:
ruby-on-rails - omniauth-facebook でメールアドレスが取得できない
新しい Rails アプリを作成し、Devise と omniauth-facebook gem をインストールしました。
そして、私の Facebook アプリをテスト環境として設定します。
そこで、facebook 経由でログインし、新しい Rails アプリにサインアップしましたが、request.env に email address.info が含まれていませんでした。
これが返されます request.env['omniauth.auth']
それは request.env['omniauth.auth']['info']['email'] をラックします
oauth経由でFacebookからメールアドレスを取得するにはどうすればよいですか? 誰か助けてください。
Rails バージョンは 4.2.3 Ruby バージョンは 2.2.2p95
これは Gem バージョンです
config/initializers/devise.rb
app/controllers/omniauth_callbacks_controller.rb
アプリ/モデル/user.rb
2015/7/11追記
古いテスト Facebook アプリケーションで同じコードを再試行したところ、完全な public_profile と電子メールを取得できました。
新しいFacebookアプリに何か制限が追加されますか?? 誰か知ってる?
ruby-on-rails - omniauth-facebook AuthHash には FB メールがありません
omniauth-facebook をいじって、将来のアプリに使用できるかどうかを確認しています。
このサイトhttps://github.com/plataformatec/devise/wiki/OmniAuth:-Overviewに記載されている手順に従いました。
アプリの承認プロセスの後、Devise にはメール アドレスが必要なため、ログイン部分に進むことができませんが、提供された OmniAuth::AuthHash には「名前」フィールドと「画像」フィールドしか含まれていません。
私はすでにスコープを「メール」に設定しており、アプリの承認部分がこれを確認しています。
助けてください。ありがとう!
ruby-on-rails - Facebook の omniauth.auth が完全なハッシュを返さず、Facebook で正常にログインできない
http://www.theodinproject.com/ruby-on-rails/final-projectの Facebook クローン プロジェクトに取り組んでいます。
私は omniauth-facebook 部分で立ち往生しており、facebook で正常にログインできません。問題は request.env["omniauth.auth"] が原因である可能性があると思います。request.env["omniauth.auth"].to_yaml を上げようとすると。次の不完全なハッシュを取得します。first_name、last_name、gender などの多くの情報が欠落しています。
** セキュリティのために一部の情報を <> に置き換えました。
これもdeviseと一緒に使っています。
ここのdeviseとomniauth-facebookの指示に従っているので、他のすべては正しく設定されているようです。https://github.com/plataformatec/devise/wiki/OmniAuth:-概要
user.rb
devise.rb
ルート.rb
omniauth_callbacks_controller.rb
どんな援助でも大歓迎です!
バージョン情報: Rails 4.2.1 Ruby 2.0.0
ruby-on-rails - Omniauth facebook - 認証情報フィールド
Facebookを介してログインするためのWebサイトにomniauthをセットアップしようとしています。問題は、Facebook が「情報」フィールドを送信していないことです。
異なる環境用に 2 つの Facebook アプリをセットアップしました。
1 つのアプリの場合、応答には次のフィールドがあります
開発環境で私は応答を得る
どちらもコードが同じなのでアプリレベルの設定なのかな。アプリ側の唯一の違いは、1 つは API v2.3 で、もう 1 つは 2.4 です。