Introduction

Here is a summary of the latest changes to our plugins.

Change Log

13th December 2018 / wp365-login-premium/ v5.3

  • Change: Extra user fields will now show on a BuddyPress profile page as Directory Info
  • Change: User synchronization will never update a user that is an administrator (the option *Do not update existing admins* has been deleted)
  • Fix: User synchronization does not work for WordPress Multisite
  • Fix: User synchronization for WordPress Multisite should only be available for the main (root) site

5th December 2018 / wp365-spo-premium/ v2.0

  • Change: The app is now a Pintra Framework app and uses the new AJAX token service from the wpo365-login plugin
  • Change: Added a Pintra Framework shortcode generator – Now it’s a breeze to configure the app

5th December 2018 / wp365-login-premium/ v5.2

  • Change: Removed the (Redux) WPO365 Option for scope
  • Change: Support for Azure AD v2.0 authentication and access token requests (preview, more information will follow in a separate upcoming post)
  • Change: Updated the access token (AJAX) service API to support Azure AD v2.0 scope based token requests
  • Change: Authorization, access and refresh codes and tokens are now stored as JSON encoded classes
  • Change: Previously deprecated methods have been removed (other / third party plugins and apps must integrate using the API now)

4th December 2018 / wp365-login/ v6.1

  • Change: Removed the (Redux) WPO365 Option for scope
  • Change: Support for Azure AD v2.0 authentication and access token requests (preview, more information will follow in a separate upcoming post)
  • Change: Updated the access token (AJAX) service API to support Azure AD v2.0 scope based token requests
  • Change: Authorization, access and refresh codes and tokens are now stored as JSON encoded classes
  • Change: Previously deprecated methods have been removed (other / third party plugins and apps must integrate using the API now)

4th December 2018 / wp365-spo/ v2.0

  • Change: The app is now a Pintra Framework app and uses the new AJAX token service from the wpo365-login plugin
  • Change: Added a Pintra Framework shortcode generator – Now it’s a breeze to configure the app

18th November 2018 / wp365-login-premium / v5.1

  • Fix: Msft_Graph::fetch may return WP_Error and the avatar function was not handling this correctly

16th November 2018 / wp365-login-premium / v5.0

  • Change: A configuration option has been added to always redirect a user to a designated page upon signin into the website
  • Change: A client (side) application can now request an oauth access token for any Azure AD secured resource e.g. Graph and SharePoint Online
  • Change: A configuration section has been added to configure / disable the aforementioned AJAX service for Azure AD oauth access tokens
  • Change: A Configuration section has been added that allows administrators to define custom login error messages
  • Change: Refresh tokens e.g. for Graph and SharePoint Online are now set to expire after 14 days
  • Change: The plugin will now cache the Microsoft signin keys used to verify the incoming ID token for 6 hours to improve overall performance
  • Change: The flow to obtain access tokens has been refactored and greatly simplied (existing methods have been marked deprecated)
  • Fix: Dynamic role assignment will not add default role when user has existing role(s)

16th November 2018 / wp365-login / v6.0

  • Change: A configuration option has been added to always redirect a user to a designated page upon signin into the website
  • Change: A client (side) application can now request an oauth access token for any Azure AD secured resource e.g. Graph and SharePoint Online
  • Change: A configuration section has been added to configure / disable the aforementioned AJAX service for Azure AD oauth access tokens
  • Change: A Configuration section has been added that allows administrators to define custom login error messages
  • Change: Refresh tokens e.g. for Graph and SharePoint Online are now set to expire after 14 days
  • Change: The plugin will now cache the Microsoft signin keys used to verify the incoming ID token for 6 hours to improve overall performance
  • Change: The flow to obtain access tokens has been refactored and greatly simplied (existing methods have been marked deprecated)
  • Fix: Dynamic role assignment will not add default role when user has existing role(s)

21st October 2018 / wp365-spo-premium / v1.1

  • Fix: Access token will only be requested on pages where the app is added using the shortcode
  • Fix: Don’t delete plugin version number each time the plugin is loaded
  • Refactoring: Standardized the naming of the user meta key used to cache the access token
  • Refactoring: Reduced the number of dependencies on the wpo365-login plugin

21st October 2018 / wp365-spo / v1.3

  • Fix: Access token will only be requested on pages where the app is added using the shortcode
  • Fix: Don’t delete plugin version number each time the plugin is loaded
  • Refactoring: Standardized the naming of the user meta key used to cache the access token
  • Refactoring: Reduced the number of dependencies on the wpo365-login plugin

8th October 2018 / wp365-spo / v1.2

  • Fix: item path property was wrongly set to author

4th October 2018 / wp365-login-premium / v4.6

  • Change: Pages Blacklist can now include query string parts e.g. “?api=” but administrators need to be aware that this can potentially weaken overall security read more

4th October 2018 / wp365-login / v5.3

  • Change: Pages Blacklist can now include query string parts e.g. “?api=” but administrators need to be aware that this can potentially weaken overall security read more

27th September 2018 / wp365-login-premium / v4.5

  • Fix: user_nicename – a WP_User field that is limited to 50 characters – was wrongly set to a user’s full name which under circumstances prevented a user from being created successfully

27th September 2018 / wp365-login / v5.2

  • Fix: user_nicename – a WP_User field that is limited to 50 characters – was wrongly set to a user’s full name which under circumstances prevented a user from being created successfully

4th September 2018 / wp365-login-premium / v4.4

  • Fix: Change PHP language construct to restore compatibility with PHP 5.3.29

4th September 2018 / wp365-login-premium / v4.3

  • Change: An extra configuration option has been added to instruct the plugin to only try and add the default role if no other role(s) could be assiged i.e. no valid Azure AD to WordPress role mapping exists for that user
  • Fix: Check before redirecting whether headers are sent and if yes the plugin now falls back to an alternative method to redirect

30th August 2018 / wp365-login/ v5.1

  • Fix: When searching for O365 users search both in email and login name
  • Fix: Check before redirecting whether headers are sent and if yes falls back to an alternative method to redirect
  • Fix: search_columns argument for WP_User_Query must be an array

22nd August 2018 / wp365-login-premium / v4.1

  • The User Synchronization job will now show additionally a list of existing WordPress users with an Office 365 account
  • When running User Synchronization you can choose to update existing WordPress users – if properly configured – the plugin will retrieve 1) additional user information from Microsoft Graph and 2) evaluate the Office 365 Azure AD Security Groups to WordPress roles mappings (and assign new roles when needed)
  • For the User Synchronization to be able to retrieve Office 365 Azure AD Security Group information for a user the permissions for the corresponding Azure AD Application Registration must be updated (see online documentation here)
  • When creating new WordPress by either running a User Synchronization job or by manually clicking Create – if properly configured – the plugin will retrieve 1) additional user information from Microsoft Graph and 2) evaluate the Office 365 Azure AD Security Groups to WordPress roles mappings (and assign new roles when needed)
  • The plugin is now capable of assigning multiple roles to a user and when doing so it will either first delete any existing roles before assigning new ones or instead preserve existing roles prior to adding new ones
  • The setting Update user role has been deprecated and instead the plugin will always try to update the user’s role in one of two possible modes: “add” (default) or “replace”
  • The plugin offers a new setting User role update scenario that let’s you choose between replacing all existing roles with new ones or instead only add any possible new roles (default behaviour)
  • Now that the plugin is capable of assigning multiple roles it will always (at least) add the default role for the main site as per configuration before adding any applicable roles as per Office 365 Azure AD Security Group to WordPress role mappings
  • The HTML template for the Sign in with Microsoft shortcode can be customized in the shortcode body (see documentation)
  • When the premium plugin is activated it will check whether the “personal blog / free” version is still activated and if yes try and deactivate it

10th August 2018 / wp365-login-premium / v4.0

  • Administrators can now configure which additional Office 365 user fields should be retrieved from Microsoft Graph and what the corresponding field title is in WordPress
  • Additional Office 365 user fields e.g. Job Title, Mobile Phone etc. are now editable by a user (when this user has sufficient permissions to update his or her WordPress profile in the first place) and those changes are not synchronized back to Office 365 Azure AD
  • Use a WordPress shortcode wpo365-sign-in-with-microsoft-sc to place a login link on your site wherever you want
  • When synchronizing users with Office 365 Azure AD the plugin will try and retrieve additional user information immediately
  • Now you can supply a list of semi-colon separated own domains (e.g. “wpo365.com;wp-o365.com”) to support enterprises that have mapped multiple domains to their Office 365 tenant
  • Select the preferred Microsoft Graph version i.e. v1.0 or beta (which is experimental but returns – for example – more user fields)
  • Moved the JWT class into the Wpo namespace (to avoid class loading issues)
  • Added psr-4 type auto class loading
  • Code refactoring to allow for the SharePoint Online Plugin and other extensions to re-use existing code base

10th August 2018 / wp365-login/ v5.0

  • Moved the JWT class into the Wpo namespace (to avoid class loading issues)
  • Added psr-4 type auto class loading
  • Code refactoring to allow for the SharePoint Online Plugin and other extensions to re-use existing code base

10th August 2018 / wp365-spo-premium/ v1.0

10th August 2018 / wp365-spo/ v1.0

  • The plugin has been fully modernized and re-written from the ground up to better intergrate with the other WPO365 plugins for user authentication, registration and synchronization
  • Using the short code [wpo365-content-by-search-sc] any page can be turned into a SharePoint Online Search Center
  • Support for incremental searching

24th June 2018 / wp365-login-premium / v3.2

15th June 2018 / wp365-login-premium / v3.1

8th June 2018 / wp365-login-premium / v3.0

Version 3.0 adds Azure AD user synchronization as a new feature.
  • The ability to quickly rollout new users to WordPress from Active Directory
  • Disable user access to WordPress for users that are disabled in your tenant / domain

6th June 2018 / wp365-login-premium / v2.4

  • Added an option to force WordPress to sent no-cache headers when the global variable WPO_NOCACHE has been defined and set to true e.g. define( 'WPO_NOCACHE', true );
  • Fixed an issue where the plugin tried to read the session duration from a global variable without a fallback option to a Redux variable causing unnecessary token refresh roundtrips
  • Fixed a minor bug where the plugin not checked whether an error occurred when creating a new WP user

23th May 2018 / wp365-login-premium / v2.3

  • Added plugin update checker. Please add a new wp-config.php setting  WPO_LOGIN_DOWNLOAD_LINK or when using Redux, please visit WPO365 Options > Downloads > wpo365-login download link and copy the download link you have received when purchasing the plugin
  • Fixed an issue with array function dereferencing
  • Removed email settings
  • Minor refactoring

14th May 2018 / wp365-login-premium / v2.2

  • Fixed an issue in the Auth class (line 96) where the PHP language construct empty() was given a function but it can only handle variables

10th May 2018 / wp365-login-premium / v2.1

  • Fixed an issue with the Aure AD Groups Whitelist – When an Azure AD Groups Whitelist was configured, a user was required to be a member of all groups rather than just one
  • Added license file
  • Updated README

8th May 2018 / wp365-login / v4.0

  • Added license validation for the Personal Blog (free) version, in order to prevent the creation of more than 3 users (unlimited users can still be created manually).

6th May 2018 / wp365-login / v3.13

  • New information banner on wpo365-options page.

5th May 2018 / wp365-login-premium / v2.0

  • Enhances a user’s profile with additional fields from Microsoft Graph (mobilePhone, businessPhones, officeLocation, jobTitle)
  • New WP_CONFIG settings WPO_GRAPH_USER_DETAILS (true|false) to enable|disable retrieving and showing additional user fields from Microsoft Graph
  • Fixed an issue with the avatar always showing the profile picture from the current user
  • Fixed an issue when retrieving global boolean variables that were set to false
  • Fixed an issue when exploding an empty string which returned a non-empty array

4th May 2018 / wp365-login-premium / v1.7

  • Replaced array construct to remain compatibel with older PHP versions
  • Now the plugin decides to prepend https to the state property based on the protocol used for the redirect url. Some WordPress hosters use SLL terminating proxies, causing default WordPress SSL detection to fail. This may cause the plugin to redirect the user after login to the wrong website address starting with http instead of https and this eventually may lead to the user being caught in an infinite authentication loop.
  • Simplified the nonce algorithm

3rd May 2018 / wp365-login / v3.12

  • Now the plugin decides to prepend https to the state property based on the protocol used for the redirect url. Some WordPress hosters use SLL terminating proxies, causing default WordPress SSL detection to fail. This may cause the plugin to redirect the user after login to the wrong website address starting with http instead of https and this eventually may lead to the user being caught in an infinite authentication loop.
  • Simplified the nonce algorithm.

30th April 2018 / wp365-login / v3.11

  • * Replaced array construct to remain compatibel with older PHP versions.

26th April 2018 / wp365-login-premium / v1.6

  • Replaced the nonce algorithm to try and minimize “Your login has been tampered with” security warning
  • New WP_CONFIG setting WPO_NONCE_SECRET
  • Fixed error related to callback for destroy_wpo365_session action

26th April 2018 / wp365-login / v3.10

  • Replaced the nonce algorithm to try and minimize “Your login has been tampered with” security warning

24th April 2018 / wp365-login-premium / v1.5

  • Prevent email and password changes exclusively for Office 365 users only
  • Forward any manual login request from an Office 365 user to Microsoft
  • new WP_CONFIG settings WPO_CUSTOM_DOAMIN (string), WPO_DEFAULT_DOMAIN (string), WPO_INTERCEPT_WP_LOGIN (true|false) and WPO_GOTO_AFTER_SIGNON_URL (string)

17th April 2018 / wp365-login-premium / v1.4

  • Replaces a user’s default WordPress avatar with the Office 365 (O365) profile picture and caches it
  • New WP_CONFIG settings WPO_USE_AVATAR (true|false) and WPO_AVATAR_REFRESH (1296000)

15th April 2018 / wp365-login-premium / v1.3

  • Bug / Fixes

15th April 2018 / wp365-login-premium / v1.2

  • Added a configurable leeway time to account for clock skew when checking the id token validity
  • New WP_CONFIG setting WPO_LEEWAY (300)

15th April 2018 / wp365-login-premium / v1.1

  • Limit access by Office 365 or Azure AD Security Group (new WP_CONFIG setting WPO_GROUPS_WHITELIST)
  • Allow creating mappings between Office 365 or Azure AD Security Groups (new WP_CONFIG setting WPO_GROUP_MAPPINGS)

1st April 2018 / wp365-login-premium / v1.0

  • Initial version (based on wp365-login free version)