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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Q&A

解決済

1回答

795閲覧

Facebook から承認されませんでした。理由:Invalid credentialsエラーが出ます

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

0グッド

0クリップ

投稿2017/06/17 03:41

編集2017/06/17 04:01

Ruby on Rails 5.0.0.1で下記のエラーが出てしまいます。

Facebook から承認されませんでした。理由:Invalid credentials

FacebookのOauth認証画面で[ログイン]・[パスワード]を追加して、リダイレクト先の画面でこのような文言が出てきます。
検索したら、
http://totutotu.hatenablog.com/entry/2016/02/24/194153

ダウングレードが必要だということで、使っていたgem omniauth-facebookを下げてみたのですが...

gem 'omniauth-facebook', '~> 3.0.0'

やはり同じエラーが出てしまいました。
なぜでしょうか。

失礼いたしました。

##該当するソースコード
▼ User.rb

Ruby

1class User < ApplicationRecord 2 # Include default devise modules. Others available are: 3 # :confirmable, :lockable, :timeoutable and :omniauthable 4 devise :database_authenticatable, :registerable, 5 :recoverable, :rememberable, :trackable, :validatable, 6 :omniauthable 7 8 class << self 9 def find_for_facebook_oauth(auth) 10 where(provider: auth.provider, uid: auth.uid).first_or_create do |user| 11 user.email = auth.info.email 12 user.password = Devise.friendly_token[0,20] 13 user.name = auth.info.name 14 end 15 end 16 17 def create_unique_string 18 SecureRandom.uuid 19 end 20 21 def create_unique_email 22 User.create_unique_string + "@example.com" 23 end 24 end 25end

▼ users/omniauth_callbacks_controller.rb

Ruby

1class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController 2 def facebook 3 @user = User.find_for_facebook_oauth(request.env["omniauth.auth"]) 4 5 if @user.persisted? 6 sign_in_and_redirect @user, :event => :authentication 7 set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format? 8 else 9 session["devise.facebook_data"] = request.env["omniauth.auth"] 10 redirect_to new_user_registration_url 11 end 12 end 13end

▼ Devise.rb

Ruby

1Devise.setup do |config| 2 config.omniauth :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_APP_SECRET'] 3end

▼ .env

FACEBOOK_APP_ID="XXXXXXXXX" FACEBOOK_APP_SECRET="XXXXXXXXXXXXXX"

▼ routes.rb

Ruby

1Rails.application.routes.draw do 2 devise_for :users, controllers: { sessions: 'users/sessions', registrations: 'users/registrations', omniauth_callbacks: 'users/omniauth_callbacks' } 3 root 'pages#index' 4 get 'pages/show' 5end

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

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

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

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

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

ahodana

2017/06/17 03:50

無効な資格情報 だけから分かる人なぞいない
退会済みユーザー

退会済みユーザー

2017/06/17 04:02

大変申し訳ありません。こちらコードを追記いたしました
guest

回答1

0

ベストアンサー

Model の名前まちがえていただけでした!

投稿2017/06/17 06:43

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問