withfatpanda / auth-plugin-wordpress
Social login and registration, built with Bamboo and powered by Laravel Socialite
Installs: 17
Dependents: 0
Suggesters: 0
Security: 0
Stars: 12
Watchers: 4
Forks: 0
Open Issues: 1
Type:wordpress-plugin
Requires
- php: >=5.6.4
- composer/installers: ~1.0.12
- laravel/socialite: ^2.0
- withfatpanda/illuminate-wordpress: 1.4.*
Requires (Dev)
- phpunit/phpunit: 5.*
This package is not auto-updated.
Last update: 2024-10-26 20:21:04 UTC
README
This project is a work in progress. It should be considered an unstable experiment until otherwise advertised herein—not for production use. Thank you.
This plugin expands WordPress' core authentication features:
- Log in or register using accounts on almost 100 social networks (screenshot)
- Associate social network accounts with existing WordPress Users
Features in our roadmap:
- Log in via one-time links sent to e-mail (i.e., Magic Links)
- Designate which roles are given to Users when they register
- Protect your site from spam and abuse with reCAPTCHA
- Two-factor authentication via SMS
This plugin is free to use in any project (public, private, non-profit and for-profit; dual licensed GPLv2 and MIT).
Requirements
- PHP >= 5.6.4
- WordPress >= 4.0
- Bedrock
Installation
Use Composer to add this plugin as a dependency to your Bedrock-based WordPress installation:
composer require withfatpanda/auth-plugin-wordpress
Configuration
For each third-party service you wish to employ in authentication, you will need a driver, a client ID, and a client secret.
Out of the box, this plugin makes available six drivers: facebook
, twitter
, linkedin
, google
, github
, and bitbucket
.
Note: In addition to these built-in drivers, there are almost 100 socialite drivers available through the community-driven Socialite Providers project, but to use any one of them, you must do some additional setup work (see Using Third-Party Providers below).
For each provider you wish to enable for authentication:
-
Create a relationship with the provider; for example, if you want to enable Facebook as a login provider, you must first create a Facebook app. This process will be slightly different for each provider, and is beyond the scope of this documentation. Good luck!
-
Get the public ID and secret key for each of your apps; again, this is outside the scope of this documentation.
-
Install these values into your Bedrock environment as follows:
SERVICES_FACEBOOK_CLIENT_ID=Public ID
SERVICES_FACEBOOK_CLIENT_SECRET=Secret Key
Where FACEBOOK
should be the name of the driver you're configuring.
- Also in your Bedrock environment, you will need to install a list of the drivers you are using, as follows:
SOCIALITE_PROVIDERS=facebook,twitter,google
- If you haven't done so yet, activate the plugin!
wp plugin activate auth-plugin-wordpress
- Flush your cached rewrite rules; this plugin adds two rewrite rules—one for inititing the OAuth flow, and another for handling the response from the auth providers. You can flush your rewrite rules with WP-CLI, as follows:
wp rewrite flush
Using Third-Party Providers
To be written.
About This Project
This plugin is the first to be built with the illuminate-wordpress project.
illuminate-wordpress, powered by the Laravel Framework, provides developers with an expressive, beautiful syntax for building faster for WordPress. Extending WordPress' REST API, defining custom data types and taxonomies, querying the database, and much more are all made easier through a semantic, object-oriented API. The objective of illuminate-wordpress is to allow the entire community of Laravel developers to fall in love with WordPress the way that we have fallen in love with Laravel.
This project in particular depends heavily on Laravel Socialite—a library that handles almost all of the boilerplate social authentication code that all developers dread writing.
About Fat Panda
Fat Panda is a software product consultancy located in Winchester, VA. We specialize in Laravel, WordPress, and Ionic. No matter where you are in the development of your product, we'll meet you there and work with you to propel you forward.
Contributing
If you run into a problem using this plugin, please open an issue.
If you want to help make this plugin amazing, check out the help wanted list.
If you'd like to support this and the other open source projects Fat Panda is building, please join our community of supporters on Patreon.