124 Commits (d4f0f4b51f5bae5d69c0ff126990435980499a1c)

Author SHA1 Message Date
Tim Nolte d4f0f4b51f
3.9.0 Feature & Bugfix Release (#394)
* Update openid-connect-generic-client-wrapper.php

Add openid-connect-generic-session-expired action before to allow consumers to act on the refresh token expiration

* Implement singleton pattern for OpenID_Connect_Generic class

This will allow developers who want to be able to call methods belonging to this class (or methods belonging to any of this class's properties) to do so, without having to create a new instance, and therefore repeat all the bootstrapping.

Instead, they will just be able to call OpenID_Connect_Generic::instance() to retrieve the singleton.

* Add functions.php file for global functions

These will act as wrappers for methods you would otherwise call by getting the Open_ID_Connect_Generic singleton and then calling the appropriate method.

* Make client_wrapper a public property

This allows us to access client_wrapper methods via the singleton of Open_ID_Connect_Generic.

* Support aggregated claims (#254)

* use tabs instead of spaces

* added define config with OIDC_LOGIN_TYPE and OIDC_CLIENT_SCOPE

scopes are needed when logging in so this is a no-brainer and this
can be deployed using deployments

login type can be defined here when you want to enforce SSO from the
deployment.

* More define-driven settings

* fix linting

* fix code analysis errors

* fix more linting, add more exception handling

* Added the OIDC_CREATE_IF_DOES_NOT_EXIST define

* Added documentation and phpstan defines

* Added data in environment_settings

* Fixes QS not being added to the redirect URL

* fix #178
Update last-token-response user meta after refresh

* add a basic method to refresh user claim outside of this plugin

* fix return doc

* add a basic method to refresh user claim outside of this plugin

* fix return doc

* Revert "fix return doc"

This reverts commit e19d6f3ffd3f7684dd843408ec911c4b6d614328.

* Revert "add a basic method to refresh user claim outside of this plugin"

This reverts commit 1a5fa9b045c7b50a17dc3cfd5482fc33be9aa6ee.

* Initial Codepsaces Development Environment

* Adds Gitpod Support Alongside Codespaces Support

* Only load admin CSS when showing settings page

* Updates Development Environment for PHP & WordPress

- Updates local development environment to use a Composer Docker
  container.
- Updates VS Code/Codespaces devcontainer to bullseye/PHP 7.4.
- Updates VS Code/Codespaces devcontainer & GitPod starting commands.
- Updates build environment to use PHP 7.4 & Composer 2.
- Updates build environment Composer packages.
- Updates Composer WordPress install to use the johnpbloch packages.

* Fixes Running PHPStan in Docker & Static Analysis Issues

- Updates the PHP/Composer Docker image memory limit to
  allow PHPStand to run properly.
- Fixes static analysis issues reported by PHPStan.
- Updates PHPStan & extensions to latest versions.
- Updates PHPStan configuration for latest version.

* Update GitHub Actions for PHP/Composer/WordPress Changes

- Updates GitHub Actions to use Composer v2.
- Updates GitHub Actions to use PHP 7.4.
- Updates GitHub Actions to use WordPress 5.7 as stable.

* Updates WordPress Version Composer Dependencies

- Updates the installed WordPress version to 5.7.
- Updates the installed WordPress stubs version to 5.7.

* Fixes GitHub Actions for Composer 2 Changes

* Fixes GitHub Actions for PHP Unit testing

- Changes PHPUnit switch to dev-master for PHP 8.0.

* Updates GrumPHP & GrumPHP Unit Testing PHP 8 Support

- Updates GrumPHP to a newer version.
- Updates Unit Testing PHP 8.0 to use GrumPHP dev-master.

* Updates Unit Testing for PHPUnit Testing w/ PHP8

* Updates Unit Testing Composer Updates to Run w/ PHP 8

* Updates Composer PHPUnit for PHP 8 Override

* Multisite/network configurations use your current blog as the default when using the WP_User_Query which means if a user already exists, from a different blog, you will not find them, but also can't create a new account because they already exist.  This overrides your current blog and will search 'all'

* CodeSpaces Dev Container Updates & Composer Updates

* Updating GrumPHP & Composer Dependencies

* Updates NPM Modules & Changes Plugin Instance Visibility

* Updates @wordpress/scripts & ~wordpress/env to the latest versions.
* Changes the visibility of the plugin class instance attribute.

* Bump tar from 4.4.13 to 4.4.19

Bumps [tar](https://github.com/npm/node-tar) from 4.4.13 to 4.4.19.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v4.4.13...v4.4.19)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump hosted-git-info from 2.8.8 to 2.8.9

Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

---
updated-dependencies:
- dependency-name: hosted-git-info
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump lodash from 4.17.19 to 4.17.21

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

---
updated-dependencies:
- dependency-name: lodash
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump ssri from 6.0.1 to 6.0.2

Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

---
updated-dependencies:
- dependency-name: ssri
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump path-parse from 1.0.6 to 1.0.7

Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump ws from 6.2.1 to 6.2.2

Bumps [ws](https://github.com/websockets/ws) from 6.2.1 to 6.2.2.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/6.2.1...6.2.2)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* coding standards issues

* Fix wordpress coding standards issues

* Redone acr-values-support

acr-values support

* Fix code-standard errors

Fixed reported code-standard issues found

* Update openid-connect-generic-client.php

fixing code-indentment after report

* Update openid-connect-generic-client-wrapper.php

fix for reported code-standard errors

* Update openid-connect-generic-settings-page.php

Fixing code-standard reported errors

* Update openid-connect-generic-client.php

re-aligned line 225 ( indentment error)

* Refactors new ACR Handling Code for Better Code Quality

* Fixes some incorrect ACR handling code that incorrectly
  added the ACR when it wasn't set.
* Adds missing settings disable handling when ACR constant
  is set.
* Refactors code for simplicity and code quality.

* Fixes #243 Nickname from Claim Regression

* Fixes the regression caused by the code changes in 3.8.0
  which resulted in not performing proper fallbacks for
  missing cliams such as the nickname.
* Fixes invalid Node version in NVM configuration.

* Fixes Indentity Mapping & Creation Issues

* Fixes issues with improperly handling combinations of the
  "Link Existing Users", "Create user if does not exist", and
  "Identify with User Name" configuration options.
* Addresses issues related to case sensitivity of usernames
  when attempting to "Link Existing Users".
* Fixes typos and formatting on the plugin Settings screen.

* Dependabot Security Related Fixes & Refactoring

* Update to require Node v14 & NPM 6.14.15.
* Updates to Grunt 1.4.1.
* Forces resolution of dependencies for security fixes.
* Update @wordpress packages to their latest versions.
* Refactors the NPM & Composer scripts.

* Updates WP to Latest Dev Standard for Local Development

* Refactors Callable Refresh User Claims Function & Action

* Moves `openid-connect-generic-update-user-using-current-claim` action
  to within update user metadata during login.
* Adds a new publicly callable method that uses the plugin singleton.

* Prep for 3.9.0 Release

Co-authored-by: jkouris <35877237+jkouris@users.noreply.github.com>
Co-authored-by: Rob Skilling <rob@dxw.com>
Co-authored-by: Martin Schanzenbach <schanzen@gnunet.org>
Co-authored-by: Chloé "Matcha" Desoutter <chloe.desoutter@bluenove.com>
Co-authored-by: Martin <schanzen@users.noreply.github.com>
Co-authored-by: Sylwester Kardziejonek <sylwester.kardziejonek@gmail.com>
Co-authored-by: Nicolas Dhers <nicolas@rkcreation.fr>
Co-authored-by: Tom McCaffery <tom@weareadjacent.com>
Co-authored-by: Dan <dan@testinnovators.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John Kouris <jkouris@everyincome.com>
Co-authored-by: Glowsome <administrator@comsolve.nl>
3 years ago
Tim Nolte 68f37dbee1
Adds Additional Validation & Fixes Redirect Back URL (#301)
* Adds Additional Validation & Fixes Redirect Back URL
- Adds URL request validation.
- Updates the way the redirect back URL is formed.

* Fixes Redirect URL Logic to Handle Subdirectory Installs
- Handles home page login for redirect back.
- Handles subpages login for redirect back.
- Handles non-permalink sites.

* Refactor Redirect URL Methods to Support All Uses
- Consolidates make_authentication_url & get_authentication_url.
- Fixes redirect client back support for login button and make
  authentication URL.
4 years ago
Tim Nolte 1e1b84cfcc
Local Dev/Composer Scripts/Transient Redirection Fixes (#295)
- Fixes local Docker wp-env environment setup w/ cleanup.
- Fixes Composer scripts for linting and static analysis.
- Fixes invalid State transient object handling for redirection.
4 years ago
Tim Nolte 8a963301ab
Fixes Broken Redirect URL Handling & Moves Away from Cookies (#289)
* Initial Changes to Move Away from Cookies for Redirects

* Add Redirection via State Transient Support

- Adds adding the login redirection to the state transient.
- Deprecates the use of cookies to handle login redirection.
- Fixes Login button shortcode authentication URL encoding.
- Fixes some broken wp-env local Docker environment issues.
- Fixes make_authentication_url attributes usage.
- Removes error_log calls used for debugging.

* Fixes Missed WordPress Coding Standards Issues

- Updates PHP_CodeSniffer configuration to properly support all checks.

* Fixes Login Button Output for Proper Escaping
4 years ago
Tim Nolte 76c824ab32
Fixes Login Page XSS Issue (#283)
- Adds escaping to the errot output message.
- Adds escaping to the login button output.
4 years ago
Tim Nolte 131e36b2d7
Logout Redirect URL Handling for Auto Login Setting & TravisCI Matrix Build Changes (#261)
- Fixes #260 by changing conditional check for logout redirect URL handling for Auto Login setting.
- Limits TravisCI matrix builds for pull requests & feature/fix branches.
4 years ago
Tim Nolte 68f7a38adb
Fixes Post Password Redirects & TravisCI Builds (#259)
- Fixes an issue with post password submission results in SSO
  authentication when "auto" mode is enabled.
- Fixes issues with TravisCI builds failing due to Composer updates
  occurring incorrectly during builds.
- Fixes to allow for WP version changes according to build matrix.
- Updates TravisCI build matrix.
4 years ago
Tim Nolte e5a2178b76
Fixes Localizaion on Error Output 5 years ago
Tim Nolte 93cd5d0cc2
Plugin Settings Page Updates Using Constants
- Ensures that any available defined constants are loaded in place of
  any database stored settings as an override.
5 years ago
Tim Nolte cf99f6a263
Adds Support for IDP Settings as Defined Constants
- Reads from defined constants on plugin bootstrap.
- Disabled plugin settings fields when defined constants are used.
_ Prevents savings plugin settings that are using defined constants.
5 years ago
Tim Nolte f821db0870
Fixes missing loaded settings property assignment. 5 years ago
Tim Nolte 4ceff40226
Fixes Plugin Pass i18n Checks
* Adds i18n check to Travis CI builds.
* Adds additional i18n run scripts to package.json.
5 years ago
Tim Nolte 78ede5dffb
Updates Code Base to Pass Level 5 Baseline
* Ensures PHP Code Sniffs continue to pass.
* Fixes all code base issues to pass a level 5 PHP static analysis.
* Updates PHPStan configurations to use a level 5 baseline.
5 years ago
Tim Nolte cce7195fe1
Fixes all PHP Code Sniffer WordPress Coding Standards Issues. 5 years ago
Tim Nolte e62b31ee87
Near Completion Update of PHP Code Sniffer Compliance Changes. 5 years ago
Tim Nolte 139791a75c
Current state of coding standards and analysis fixes. 5 years ago
Tim Nolte 79f45e7f89
Initial Coding Standards & Static Analysis Chanages.
* Adds WordPress coding standards configuration.
* Adds WordPress/PHP static analysis configuration.
* Adds Git hooks to enforce checks and ensure quality on commits.
* Adds initial local Docker development environment setup.
5 years ago
Tim Nolte 107a066bd5
Add Redirect & Override Attributes Support to Shortcodes.
* Adds support for setting the redirect cookie when shortcodes are used.
* Adds support for overriding some attributes for authentication URLs
  and login buttons when using the shortcodes.
* Fixes code formatting.
5 years ago
Tim Nolte 42a7163160
Merge pull request #199 from timnolte/feature/disable-refresh-token
Adds Option to Enable/Disable Token Refresh.
5 years ago
Tim Nolte 1c8a9d166c
Adds Option to Enable/Disable Token Refresh.
* Adds a new plugin setting.
* Adds a check and doesn't create cookie for refresh token if not
  enabled.
* Fixes code formatting.

Fixes #144
5 years ago
Jonathan Daggerhart bf2e517a89 removing trailing whitespace 5 years ago
Jonathan Daggerhart a0dfa7723d documenting new username normalization 5 years ago
Jonathan Daggerhart d91d6d2ea3
Merge branch 'dev' into fix-silent-iconv-failure 5 years ago
Jonathan Daggerhart fb3a9f53c3 updating version and readme for new changes 5 years ago
Jonathan Daggerhart f81dbcc6e5
Merge pull request #148 from benochen/contribution
Add a setting checkbox defining the behavior of the client if a user…
5 years ago
Jonathan Daggerhart 4a84b3c651
Merge pull request #183 from cs1m0n/increment_username_fix
Increment username just when link_existing_users is off
5 years ago
Jonathan Daggerhart d39c0da990
Merge pull request #189 from dxw/feature/actions-for-error-logging
Increase granularity of state token errors
5 years ago
Jonathan Daggerhart dc41454283
Merge pull request #191 from dxw/feature/login-button-url-filter
Add filter for login form button URL
5 years ago
Eersink.Michael d21bc60fbc Allow periods and spaces in usernames
issue #141
5 years ago
Rob Skilling 474f6cb361 Add filter for login form button URL
This will allow developers to e.g. redirect users to an intermediary page before being taken to the SSO provider.
5 years ago
Rob Skilling 836500a495 Increase detail of state token errors
Before: a missing state error could be returned for 3 reasons: a token was not provided, the token provided was invalid, or the token provided had expired.

There was no way of knowing which of these was the cause of any single missing state error.

Now: if no token is provided, a missing state error is returned, and the "openid-connect-generic-no-state-provided" action is called.

If the token provided is invalid, an "Invalid state" error is thrown and the "openid-connect-generic-state-not-found" action is called.

If the token provided has expired, an "Invalid state" error is returned and the "openid-connect-generic-state-expired" action is called.

This should allow for more granular error logging around state token errors.
5 years ago
James Collier 8237aa5b84 RFC 3986 encode parameters in authentication URL 5 years ago
Simon Costea 0940c8c863 Delete expired transients 5 years ago
Simon Costea 8c82b86f29 Increment username just when link_existing_users is off 5 years ago
GeorgB 0c83125c7a
Add note on authentication url shortcode 5 years ago
Jonathan Daggerhart f401b3f53b moving openid-connect-generic-alter-user-claim to top of method 5 years ago
Jonathan Daggerhart f01a8bf608
Merge pull request #156 from ksimunovic/dev
Add two filters to modify received data before validation
5 years ago
SYLVAIN PAILLASSE 11695f56ab Add logger to OpenID_Connect_Generic
(also remove code parameter value in the query stirng url for better reading of the logs)
5 years ago
Jonathan Daggerhart 96bb449f39 Fix race condition by replacing states option array with individual transients 5 years ago
Karlo Šimunović 47ea6d6ec3 Add two filters to modify received $token_response and $id_token_claim before validation
This is related to daggerhart/openid-connect-generic#155
5 years ago
Moritz Bellach 1f2b3171f0
add Error messages on failed username transliteration/normalization 5 years ago
benoit 66a0b319d4 Add a setting checkbox defining the behavior of the client if a user authenticates with a user not map with existing WP user. If tick the user is created. If not tick the authentication failed 6 years ago
Jonathan Daggerhart f42a587bf0
Merge pull request #145 from TeDo-Verlag/notice-response-sent
avoid headers already sent error notice
6 years ago
Stephanie 54d6784d44 Allow multiple query params when redirecting back to origin 6 years ago
Jonathan Daggerhart 4955be3b71
Merge pull request #137 from dfredell/patch-1
More logging on incomplete-user-claim
6 years ago
gguseynov a70fc8fe04 avoid headers already sent error notice 6 years ago
Dan Fredell 8c5b265ca7
More logging on incomplete-user-claim
Add logging so the user can more quickly discover which filed is unavailable during formatting. 
Helps in debugging #91
6 years ago
gguseynov caf3ea7267 1. run 'openid-connect-generic-update-user-using-current-claim' action
if existing user was updated
2. add_user_meta with single=true does not overwrite old value
6 years ago
Jonathan Daggerhart f3829b48e2 documenting new action on user login 6 years ago
Gassan Gousseinov 96b25f6c90 added force_redirect parameter and login action 6 years ago