Pressbooks CAS Single Sign-On WP Registry grade B. Medium-severity findings · 2 findingsWP RegistryMedium-severity findings · 2 findingsOpen the reportB #2 in Users & Membership
CAS SSO Integration for Pressbooks.
Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/pressbooks/pressbooks-cas-sso/releases/download/2.6.0/pressbooks-cas-sso-2.6.0.zipOn Packagist as pressbooks/pressbooks-cas-sso:
composer require pressbooks/pressbooks-cas-ssoCAS Single Sign-On integration for Pressbooks.
Description
Plugin to integrate Pressbooks with Central AuthenticationService (CAS) single sign-on architectures.
Users who attempt to login to Pressbooks are redirected to the central CAS sign-on screen. After the user’s credentials are verified, they are redirected back to the Pressbooks network. If we match a Pressbooks user by CAS username (stored in user_meta table), the user is recognized as valid and allowed access. If no match, then try to match a Pressbooks user by email (and store a successful match in user_meta table for next time). If the CAS user does not have an account in Pressbooks, a new user can be created, or access can be refused, depending on the configuration.
Installation
composer require pressbooks/pressbooks-cas-sso
Or, download the latest version from the releases page and unzip it into your WordPress plugin directory: https://github.com/pressbooks/pressbooks-cas-sso/releases
Then, activate and configure the plugin at the Network level.
Read the integrations documentation for more info: https://docs.pressbooks.org/integrations/cas-sso/
Security Considerations
Set the PB_CAS_CERT_PATH environment variable to configure validation of the CAS server. Used by CURLOPT_CAINFO for peer and host verification:
putenv( 'PB_CAS_CERT_PATH=/path/to/cachain.pem' ); // Path to the CA chain that issued the CAS server certificate
Advanced Configuration
The email can be filtered, example: add_filter( 'pb_integrations_multidomain_email', function( $email, $uid, $plugin ) { /* Custom use case, return $email */ }, 10, 3 );
Because this plugin uses the fabulous apereo/phpCAS library, many other configuration variables can be tweaked.
Screenshots

Changelog
Please see the CHANGELOG file for more information.
Releases
20 releases. Each count is every asset in that release; expand a row for the breakdown.
Active-site estimate ≈770 comes from the median of recent superseded releases. Method.