{"id":14410,"date":"2020-06-05T13:55:09","date_gmt":"2020-06-05T13:55:09","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=14410"},"modified":"2021-11-05T10:40:16","modified_gmt":"2021-11-05T10:40:16","slug":"how-to-add-sign-in-with-facebook-feature-in-laravel","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/how-to-add-sign-in-with-facebook-feature-in-laravel\/","title":{"rendered":"How to Add Sign-in with Facebook feature in Laravel."},"content":{"rendered":"\n<p>In this tutorial, we\u2019re going learn how to add authentication via Facebook to a Laravel app. In Short, How to add <strong>Sign-in with Facebook<\/strong> feature in our Laravel Project. For that, we use Laravel Socialite Package which is officially provided by Laravel (you can check Documentation <a href=\"https:\/\/laravel.com\/docs\/5.8\/socialite\" target=\"_blank\" rel=\"noopener\">here<\/a>.) <\/p>\n\n\n\n<p>Socialite supports Facebook, Twitter, LinkedIn, Google, GitHub and Bitbucket.<\/p>\n\n\n\n<p class=\"has-vivid-red-color has-very-light-gray-background-color has-text-color has-background\"><strong>Note :-<\/strong> <strong>For using Socialite Package, you must have Laravel 5.4 or an Upper version of Laravel in your project. (Recommended 5.5 and above.)<\/strong><\/p>\n\n\n\n<p>I&#8217;m using Laravel 5.8 (version) in my project. So Follow the below Steps to add <strong>Sign-in with Facebook<\/strong> Functionality in your existing Laravel Project.<\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Step 1 :-<\/span> <\/strong> Install Socialite using composer by below Command.<\/p>\n\n\n\n<p class=\"has-text-align-center has-very-light-gray-background-color has-background\"><strong>composer require laravel\/socialite<\/strong><\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Step 2 :-<\/span><\/strong> Go to <strong>config\/services.php<\/strong> and add a new Package as below.<\/p>\n\n\n\n<p class=\"has-very-light-gray-background-color has-background\"><strong>&#8216;Facebook&#8217; =&gt; [<br>       &#8216;client_id&#8217; =&gt; &#8216;FACEBOOK_CLIENT_ID&#8217;,<br>       &#8216;client_secret&#8217; =&gt; &#8216;<strong>FACEBOOK<\/strong>_CLIENT_SECRET&#8217;,<br>       &#8216;redirect&#8217; =&gt; &#8216;http:\/\/your-callback-url&#8217;,<br>  ],<\/strong><\/p>\n\n\n\n<p>We\u2019ll obtain <strong>client_id<\/strong>,&nbsp;<strong>client_secret<\/strong>&nbsp;and&nbsp;<strong>redirect&nbsp;URL<\/strong> in next Step.<\/p>\n\n\n\n<p>Since we added a new package, make sure to add to the service <strong>providers<\/strong> array in&nbsp;<strong>config\/app.php<\/strong> (In <strong>providers<\/strong> array)<\/p>\n\n\n\n<p class=\"has-very-light-gray-background-color has-background\"><strong>&#8216;providers&#8217; =&gt; [<br>           \/\/ Other service providers\u2026  <\/strong><br><strong>                                                                                       Laravel\\Socialite\\SocialiteServiceProvider::class,<br>],<\/strong><\/p>\n\n\n\n<p>Add an <strong>alias<\/strong> in <strong>config\/app.php<\/strong>, so it is easier to reference later.<\/p>\n\n\n\n<p class=\"has-text-align-center has-very-light-gray-background-color has-background\"><strong>&#8216;Socialite&#8217; =&gt; Laravel\\Socialite\\Facades\\Socialite::class,<\/strong><\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Step 3 :-<\/span><\/strong>  Now, Create your app on Facebook.<\/p>\n\n\n\n<p><span class=\"has-inline-color has-vivid-purple-color\"><strong>( i )  Create a Project<\/strong> :- <\/span>Go to <a href=\"https:\/\/developers.facebook.com\/\" target=\"_blank\" rel=\"noopener\"><a href=\"https:\/\/developers.facebook.com\/\" target=\"_blank\" rel=\"noopener\">https:\/\/developers.facebook.com\/<\/a><\/a>  and click on My Apps and then Create App as shown below. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"775\" height=\"197\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Create-facebook-App.png\" alt=\"\" class=\"wp-image-14418\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Create-facebook-App.png 775w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Create-facebook-App-300x76.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Create-facebook-App-768x195.png 768w\" sizes=\"auto, (max-width: 775px) 100vw, 775px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"659\" height=\"466\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-Create-new-app.png\" alt=\"\" class=\"wp-image-14419\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-Create-new-app.png 659w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-Create-new-app-300x212.png 300w\" sizes=\"auto, (max-width: 659px) 100vw, 659px\" \/><\/figure>\n\n\n\n<p>After Clicking on <strong>Create App<\/strong> a pop-up appears like this (See below Image) :-<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"363\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-create-a-new-app-id.png\" alt=\"\" class=\"wp-image-14421\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-create-a-new-app-id.png 720w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-create-a-new-app-id-300x151.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n\n\n\n<p>In Which Fill the Display Name (Your App Name) and click on <strong>Create App ID<\/strong>. A Security check pop-up appears just pass it, and you are redirected to the <strong>App Dashboard<\/strong>.<\/p>\n\n\n\n<p>Now Click on Facebook Login Set-up and then click on <strong>WWW(web)<\/strong> see Below image  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"432\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Screenshot-331-1024x432.png\" alt=\"\" class=\"wp-image-14428\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Screenshot-331-1024x432.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Screenshot-331-300x127.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Screenshot-331-768x324.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Screenshot-331.png 1262w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>After that Click on <strong>Settings<\/strong> in the left side, Fill <strong>Redirect_URL<\/strong> and then click on Save Changes. See the below image for help.  :- <\/p>\n\n\n\n<p>Redirect URL is like <strong><span class=\"has-inline-color has-vivid-red-color\">your_web_URL\/login\/facebook\/callback<\/span><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"442\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-app-setting-1024x442.png\" alt=\"\" class=\"wp-image-14431\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-app-setting-1024x442.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-app-setting-300x129.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-app-setting-768x331.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-app-setting.png 1277w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>After that click on <strong>Settings&#8211;&gt;Basic<\/strong> below <strong>Dashboard<\/strong> where you can find <span class=\"has-inline-color has-vivid-red-color\"><strong>Your_App_ID<\/strong><\/span> and <span class=\"has-inline-color has-vivid-red-color\"><strong>Your_App_Secret<\/strong><\/span>. See the Below Image.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"417\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-app-id-and-secret-1024x417.png\" alt=\"\" class=\"wp-image-14433\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-app-id-and-secret-1024x417.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-app-id-and-secret-300x122.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-app-id-and-secret-768x312.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2020\/06\/Facebook-app-id-and-secret.png 1347w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p> just <strong>copy <\/strong>and <strong>paste <\/strong>it in the <strong>config\/services.php<\/strong> as mentioned in <strong>Step 2<\/strong>. <\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Step 4 :-<\/span><\/strong>  Handle the route. Go to <strong><span style=\"color:#2228c5\" class=\"has-inline-color\">routes\/web.php<\/span><\/strong>. See the below code.<\/p>\n\n\n\n<p class=\"has-very-light-gray-background-color has-background\"><strong>Route::get(&#8216;login\/facebook&#8217;, &#8216;Auth\\LoginController@redirectToProvider&#8217;);<br>Route::get(&#8216;login\/facebook\/callback&#8217;, &#8216;Auth\\LoginController@handleProviderCallback&#8217;);<\/strong><\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Step 5 :-<\/span><\/strong>  Now go to loginController and paste the below code.<\/p>\n\n\n\n<p class=\"has-very-light-gray-background-color has-background\"><strong>use Socialite;<\/strong><br><br><strong>public function redirectToProvider()<br>{<br>return Socialite::driver(&#8216;facebook&#8217;)-&gt;stateless()-&gt;redirect();<br>}<\/strong><br><br><strong>public function handleProviderCallback()<br>{<br>$user = Socialite::driver(&#8216;facebook&#8217;)-&gt;user();<br>        \/\/ $user-&gt;token; <span class=\"has-inline-color has-vivid-red-color\">(return as your need)<\/span><br>}<\/strong><\/p>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Step 6 :-<\/span><\/strong>  Now, we make <strong>Sign-in with Facebook<\/strong> button. Just copy and paste the below code in your login page.<\/p>\n\n\n\n<script src=\"https:\/\/gist.github.com\/SushantSinghRajput03\/57cd8bc8d6eef2eb171b34f04e3299c5.js\"><\/script>\n\n\n\n<p><strong><span class=\"has-inline-color has-vivid-red-color\">Note :-<\/span><\/strong> You can use fa-fa icon of facebook instead of <strong>facebook.svg<\/strong> or download it by searching on google by Keyword <strong>facebook SVG icon download<\/strong>.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Thats All<\/strong>.     <strong>???<\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n<div class=\"epyt-gallery\" data-currpage=\"1\" id=\"epyt_gallery_31797\"><iframe loading=\"lazy\"  id=\"_ytid_82239\"  width=\"760\" height=\"427\"  data-origwidth=\"760\" data-origheight=\"427\" src=\"https:\/\/www.youtube.com\/embed\/?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  no-lazyload\" title=\"YouTube player\"  data-epytgalleryid=\"epyt_gallery_31797\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><div class=\"epyt-gallery-list\"><div>Sorry, there was a YouTube error.<\/div><\/div><\/div>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we\u2019re going learn how to add authentication via Facebook to a Laravel app. In Short, How to add Sign-in with Facebook feature in our Laravel Project. For&#8230; <\/p>\n","protected":false},"author":19,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[5201],"tags":[],"class_list":["post-14410","post","type-post","status-publish","format-standard","hentry","category-laravel"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/14410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=14410"}],"version-history":[{"count":22,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/14410\/revisions"}],"predecessor-version":[{"id":24789,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/14410\/revisions\/24789"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=14410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=14410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=14410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}