Contao 4 bundle for a Facebook login.
Require the bundle via composer:
composer require inspiredminds/contao-facebook-login
If you use the Contao Standard Edition, you will have to add
new FacebookLoginBundle\FacebookLoginBundle()
to your AppKernel.php
. You will also need to add the bundle's routes to your app/config/routing.yml
:
FacebookLoginBundle:
resource: "@FacebookLoginBundle/Resources/config/routing.yml"
Then execute the Contao Install Tool (regardless of which edition you use).
Before being able to use the Facebook login, you have to create a Facebook App for your website under developers.facebook.com/apps. Make sure to fill out at least the following fields:
- Settings » Basic » Add Platform » Website: enter the basic URL of your site, e.g.
http://example.org
. - Settings » Basic » App Domains: fill in the domain of your site, e.g.
example.org
.
Then you need to configure the Facebook Login on the left side under PRODUCTS. If said product is not there, you need to add it manually via + Add Product first. Make sure to fill out Valid OAuth URIs with the the following URL of your site: http://example.org/fblogincallback
. If you are using https
, use that instead (or both). Set the rest of the settings as seen in the screenshot below:
Use Strict Mode for Redirect URIs can be enabled (new Facebook apps will have this enabled by default). Then make your App public under App Review.
After creating the Facebook App, you need to set the Facebook App ID and Facebook App Secret. You can define these either in the website root or in the system settings. Use the former if you are using a multidomain setup.
Simply create a Facebook Login module in your theme and include it anywhere. It works and behaves the same way as the regular login module of Contao and also offers the same settings, plus the ability to define the member groups newly registered users will belong to and the ability to decide what personal data should be stored from Facebook.
You can also define additional Facebook Login Permissions. These will be added to the default permissions. The module will also save a user access token in the session under the variable facebook_login_access_token
for later use.
This bundle uses code provided and originally used by Kamil Kuzminski.