ktbartholomew / saml-20-single-sign-on

Wordpress plugin that makes a Wordpress site act as a SAML service provider
GNU General Public License v2.0
37 stars 22 forks source link

Contributors: ktbartholomew Tags: sso, saml, single sign-on, simplesamlphp, onelogin, ssocircle Requires at least: 3.3 Tested up to: 4.4 Stable tag: 0.9.4 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html

SAML 2.0 Single Sign-On WordPress Plugin

SAML 2.0 Single Sign-On allows you to use any SAML 2.0-compliant Identity Provider for Single Sign-On to your blog or network of blogs. The plugin will replace the standard WordPress login screen and automatically redirect login/logout requests to your SSO portal. Group membership from the Identity Provider (such as Active Directory) can be used to determine what privileges the user will have on your blog, such as Administrator, Editor, or Subscriber. This plugin uses a modified version of the SimpleSAMLPHP library for all SAML assertions, and can be configured exclusively from the WordPress Admin menu.

Installation

  1. Upload the contents of the plugin to the /wp-content/plugins/ directory of your WordPress site.
  2. Activate the plugin through the Plugins menu in WordPress
  3. Configure the Identity Provider and Service Provider sections of the plugin in the Settings > Single Sign-On menu.
  4. Enable the plugin to do authentication on the General section of the plugin.

Development

Plugin development with this repo requires Docker and Docker Compose > 1.5.2.

  1. Copy the sample environment file, env.sample to env.
  2. Assign values to each of the environment variables.
  3. Run script/build
  4. Run script/start

The Wordpress instance will be available on port 80 of your Docker host, with the plugin (in ./src) mounted to the appropriate plugins directory inside the Wordpress container. This assumes your Docker host can see your working filesystem, which in many cases will require a Virtualbox-backed docker-machine instance.

Note for developing with the multisite container: You will need to add an entry to /etc/hosts that maps the hostname docker to the IP address of your docker host. See https://github.com/ktbartholomew/saml-20-single-sign-on/issues/9 to understand why this is necessary.

Changelog

0.9.4

0.9.3

0.9.2

0.9.1

0.9.0

0.8.9

0.8.8

0.8.7

0.8.6