質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

334閲覧

【rails】本番環境でfacebookAPIを使ったユーザー登録をしようとすると「The parameter app_id is required」が出て認証できない

Mchinta

総合スコア29

Facebook

Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2019/01/18 11:44

前提・実現したいこと

環境:AWSのEC2で稼働、https化もされている状態
テストのrailsアプリなのですが、omniauth-facebookを使ったユーザー登録を本番環境でもできるようにしようとしています。
(ローカル環境では登録できていた)

発生している問題・エラーメッセージ

本番環境でfacebookでユーザー登録をしようとすると『The parameter app_id is required』と出て認証できない状態です。本来ボタンを押すとfacebookのアカウントを選択する画面がでるはずなのですが、API側の設定から1〜2時間待ってもできない状態です。
イメージ説明

ローカル環境からの変更点

①EC2のbash_profileに環境変数のためのAPIキーを入力し、source ~/.bash_profile。

②facebook for デベロッパーの画面では以下のことをしました。
■対象のアプリ画面→設定→ベーシック画面にて
・アプリドメイン → 実際のドメイン名を設定
・プライバシーポリシーのURL → 簡単ですが用意したビューのURLを貼り付け
・ウェブサイト → http://localhost:3000/ を本サイトのURLへ変更
イメージ説明
イメージ説明

■対象のアプリ画面→facebookログイン→設定画面
・有効なOAuthリダイレクトURI → https://ドメイン名/users/auth/facebook
・ステータス → on (現在ステータスは「ライブ」になっています)
イメージ説明

自分の考え

ローカル環境ではできていたので、ec2側でbash_profileに環境変数書いたら後はAPI側の問題な気がするのですが、打つ手がなくなったので質問させて頂きました。

申し訳ないですが、よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/01/18 12:05 編集

Rails アプリは、 app_id を 環境変数から正しく取得・認識していますか? あと、EC2 で rails はどうやって稼働させましたか?
Mchinta

2019/01/19 01:58

コメントありがとうございます。 CHERRYさんからのヒントも参考にして環境変数が正しく読み込めているか確認して方法を変更してみたら読み込むようになりました!
guest

回答1

0

自己解決

環境変数がbash_profileからちゃんと読み込めてないのかなと思ってenvironmentに書いてみたら読み込むようになりました。(この方法だと別アプリにも適用されてしまうのであまりいい方法ではありませんが。。)

手順としては
①[ec2-user@ip-アドレス ~]$ sudo vim /etc/environment

②#environmentファイルで書きを追記
FACEBOOK_APP_ID='APP-IDを入力'
FACEBOOK_APP_SECRET='APP-SECRETを入力'

③一度EC2をログアウトして、念のためユニコーンとNginxも再起動してサイト確認したらいけた。

でもなぜbash_profileで読み込まないのかは謎のままです。。

投稿2019/01/19 01:56

編集2019/01/19 02:00
Mchinta

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問