76 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 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 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
Eersink.Michael d21bc60fbc Allow periods and spaces in usernames
issue #141
5 years ago
Simon Costea 8c82b86f29 Increment username just when link_existing_users is off 5 years ago
Jonathan Daggerhart f401b3f53b moving openid-connect-generic-alter-user-claim to top of method 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
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
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
Gassan Gousseinov 96b25f6c90 added force_redirect parameter and login action 6 years ago
Shane Mulligan 0b51e9c1e5 Change PHP keywords to comply with PSR2 (#116)
Signed-off-by: CodeLingoBot <bot@codelingo.io>
6 years ago
Matt Varblow 6917df262f Allow identity providers which do not support the userinfo endpoint. (#100)
* Allow identity providers which do not support the userinfo endpoint.

* Fixed empty check for userinfo endpoint
7 years ago
Raphaël Droz f3096b6f14 fix a notice: If using traditional login, $token_response may be empty (#86)
fix a 404: In Bedrock-like layout configuration, $redirect_url === 'wp-login.php?loggedout=true'
 (which work for local redirection). But canonicalization should take into account the additional /wp/
 prefix. site_url() does meanwhile home_url() does not.
7 years ago
Raphaël Droz f9c076a5c0 hook: ability to filter claim and derived user data (#84) 7 years ago
Raphaël Droz 6263bee23b google provider: do not attempt to use their not-compliant /revoke endpoint (#83) 7 years ago
Raphaël Droz 58c8b7ac9a disconnect hook: get user meta from information provided by filter parameters (#82) 7 years ago
Raphaël Droz d0b79313c2 fixed a notice when cookie does not contain expected redirect_url (#80) 7 years ago
Raphaël Droz 756c3c05a1 Translit names' special characters (#73)
When nickname is generated from a full name, intent to translit them to ascii instead of stripping special characters.
7 years ago
Jonathan Daggerhart a99280600a removed generic wp filter used for request timeout 7 years ago
Jonathan Daggerhart 326efbb416 prefixing generic classes with oidcg comment class names. adjusting autoloading to look for the standardized prefix. 7 years ago
PJ Eby b14554e8fe WP still supports PHP 5.2.4 :( 7 years ago
PJ Eby 662e9fb25b Track refresh token expiration (fixes #51) 7 years ago
PJ Eby caf1324499 Defer logouts to after all WP plugins initialize 7 years ago
PJ Eby 134d0116b8 Drop unnecessary user_meta keys 7 years ago
PJ Eby 7879835b49 Store refresh token in sessions, instead of a cookie 7 years ago
Sven van Hal 3869aa0fde
Terminate authentication_request_callback() after execution 7 years ago
Jonathan Daggerhart 08af84a851 readme and changelog updates. minor whitespace update. 8 years ago
Jonathan Daggerhart 3683cd3286 Merge pull request #42 from daggerhart/redirect-on-logout-as-setting
New setting to determine if users should be redirected when session expires.
8 years ago
Jonathan Daggerhart c73d9f6956 new setting allows administrator to determine if users should be redirected when their acces token expires. 8 years ago