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

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

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

OAuth(Open Authorization)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

OAuth 2.0

OAuth 2.0(Open Authorization 2.0)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

Facebook

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

2325閲覧

Laravel5.6 Socialiteを使ったFacebook認証について

nnahito

総合スコア2004

OAuth

OAuth(Open Authorization)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

OAuth 2.0

OAuth 2.0(Open Authorization 2.0)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

Facebook

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

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

2クリップ

投稿2018/05/07 12:38

編集2018/05/07 13:06

はじめに

Socialite初心者です。

行いたいこと

Facebook認証でユーザの会員登録の実現

バージョン

composer.jsonの一部

"laravel/framework": "5.6.*", "laravel/socialite": "^3.0",

socialiteの設定

以下サイトからFacebookの記述をコピペでとりあえず作成
※Controllerはartisanコマンドではなく自作しました
https://www.ritolab.com/entry/33

発生するエラー

イメージ説明

Facebookの設定

エラー内容で書かれているところらしき部分は埋まっています。

イメージ説明

質問

上記設定を行っているのに、なぜ

URLを読み込めません: このURLのドメインはアプリのドメインに含まれていません。このURLを読み込むには、アプリ設定のアプリドメインにすべてのドメインとサブドメインを追加してください。

というエラーが発生するのでしょうか?
エラーで検索を行っても、「アプリドメインを設定しろ」という記事ばかりで……
ご存知の方がいらっしゃいましたら、ご教示いただけますと幸いです。
よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

ベストアンサー

Facebookアプリ側の Facebookログイン > 設定 > 有効なOAuthリダイレクトURI の値と、
Laravelアプリ側の .env ファイルでのリダイレクトURIの値が
一致していないのではないでしょうか。

投稿2018/05/08 00:30

Lulucom

総合スコア1899

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

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

nnahito

2018/05/08 13:55

まさしくそこでした!!そこが空白になっておりました!! そんなところにも落とし穴が……ありがとうございます!
guest

0

FACEBOOK_CALLBACKURLに設定してるURLと
アプリドメインが一致してないのでは。
最初にやりがちなエラー。

後やっぱりそういう記事は変な使い方してる。素のPHPの癖が抜けてない。

こうすればルーティングは一つで済む。

Route::get('auth/{$provider}', 'OAuthLoginController@redirect'); Route::get('auth/callback/{$provider}', 'OAuthLoginController@callback');

コントローラーは

public function redirect($provider) { return Socialite::driver($provider)->redirect(); } public function callback(Request $request, $provider) { //承認しなかった場合のチェックをここで if (!$request->has('code')) { return redirect('/'); } // ユーザ属性を取得 $user = Socialite::driver($provider)->user(); // デバッグ(デモンストレーション用) dd($user); }

素のPHP関数とか一つも使ってない。
ここまで簡単に使えるSocialiteをなんで無駄に複雑にするのか。

投稿2018/05/07 13:07

kawax

総合スコア10377

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

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

nnahito

2018/05/07 13:16

ご回答有り難うございます。 ドメイン(example.comみたいな場所ですよね?)は一致しております…… ほかになにか、間違えてそうな部分ってありますでしょうか?
Lulucom

2018/05/08 00:08 編集

@nnahito .envファイルかconfig/services.phpファイルでコールバック先(リダイレクトURL)を指定していると思いますがそちらは大丈夫ですか?
nnahito

2018/05/08 00:09

ご返信有難うございます。 config/services.phpファイルは、 'facebook' => [ 'client_id' => env('FACEBOOK_API_ID'), 'client_secret' => env('FACEBOOK_API_SECRET'), 'redirect' => env('FACEBOOK_CALLBACKURL'), ], と、envから呼び出すようになっており、 envは、 FACEBOOK_API_ID=123456789 FACEBOOK_API_SECRET=xxxxxxxxx FACEBOOK_CALLBACKURL=https://dev.example.com/auth/callback/facebook となっております……(ドメインは一致)
Lulucom

2018/05/08 00:13

@nnahito スクショでは dev.xxx.jp で、.envでは dev.example.com なので一致してないのではないでしょうか。
nnahito

2018/05/08 00:16

申し訳ありません、自分のサービスのドメインじゃないため念の為マスクを掛けています。 そこは一致している認識でお願いいたします。 頂いた表記をお借りしますと、スクショのドメインがdev.xxx.jpとしたら、 envの設定は、https://dev.xxx.jp/auth/callback/facebookです
Lulucom

2018/05/08 00:25

@nnahito Facebookアプリの設定で、Facebookログイン > 設定 > 有効なOAuthリダイレクトURI は大丈夫ですか?
nnahito

2018/05/08 13:54

@Lulucom 様 こちらでした!そこが空白になっておりました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問