An open API service indexing awesome lists of open source software.

https://github.com/codesyntax/cs.auth.facebook

Facebook authentication plugin for Plone
https://github.com/codesyntax/cs.auth.facebook

Last synced: about 1 year ago
JSON representation

Facebook authentication plugin for Plone

Awesome Lists containing this project

README

          

Introduction
============

A PAS plugin to login into a Plone Site using Facebook.

* Log in to a Plone site through Facebook: when a user requests to log in to the Plone site he will be redirected to Facebook so that he provides the credentials there, then he will be redirected back to the Plone site and will be identified there.

* The user will be a standard Plone user, so Roles or Group membership can be set.

* Minimal user information is kept in Plone such as full name, Facebook ID, photo and e-mail (if available) of the user. This is kept to avoid permanent requests to Facebook API. This information is refreshed each time the user logs in to the site.

Installation and getting started
--------------------------------

1. Buildout

Add `cs.auth.facebook` to your ``buildout.cfg`` eggs list::

[buildout]
...
eggs =
cs.auth.facebook

Or as a required install dependency of your own addon ``setup.py``::

install_requires=[
...
'cs.auth.facebook',
],

2. Create a new Facebook app at https://developers.facebook.com/apps and fill
in the required data in the plugin's control panel form.
Make sure to enter the URL of the Website that is using the Facebook Login in App -> Facebook-Login -> Settings -> Valid OAuth Redirect URLs. If you want to run it from your local machine, you have to provide ``http://localhost:8080`` and disable SSL-Enforcement.

3. Install the product in the Plone Control Panel and provide the app_id
and app_secret in the configuration panel.

In Plone 4 you now see the "Facebook Login" button viewlet. To customize the placement of this
viewlet please check out the `Plone Viewlet Documentation `_

4. Alternatively you can enable an action in portal_actions with the following configuration
(see ``profiles/default/actions.xml`` within this package)::




Log in with Facebook

string:${globals_view/navigationRootUrl}/@@facebook-login

python:member is None



False




5. A second alternative is to link to the view ``${globals_view/navigationRootUrl}/@@facebook-login`` where ever you want to start the facebook login.

Behind the scenes
-----------------

The Facebook Login Viewlet uses the new Facebook JavaScript SDK v4.0 to ensure
the proper popup for every target device. You don't have to care about this.

For more information on FB JSDK checkout the `Facebook Developers Login Documentation `_

Credit
------

This product re-distributes a lot of code written by Martin Aspeli
(aka @optilude) in his book "Professional Plone 4 Development" and
available under GPL license in his personal GitHub account with
the name 'optilux.facebookauth':

https://github.com/optilude/optilux/tree/chapter-16/src/optilux.facebookauth

Compatibility
=============

Plone 4.x

Plone 5.x