Skip to content

Commit

Permalink
3.9.0 Feature & Bugfix Release (#394)
Browse files Browse the repository at this point in the history
* 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 e19d6f3.

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

This reverts commit 1a5fa9b.

* 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](isaacs/node-tar@v4.4.13...v4.4.19)

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

Signed-off-by: dependabot[bot] <[email protected]>

* 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](npm/hosted-git-info@v2.8.8...v2.8.9)

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

Signed-off-by: dependabot[bot] <[email protected]>

* 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](lodash/lodash@4.17.19...4.17.21)

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

Signed-off-by: dependabot[bot] <[email protected]>

* 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](npm/ssri@v6.0.1...v6.0.2)

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

Signed-off-by: dependabot[bot] <[email protected]>

* 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] <[email protected]>

* 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](websockets/ws@6.2.1...6.2.2)

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

Signed-off-by: dependabot[bot] <[email protected]>

* 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 <[email protected]>
Co-authored-by: Rob Skilling <[email protected]>
Co-authored-by: Martin Schanzenbach <[email protected]>
Co-authored-by: Chloé "Matcha" Desoutter <[email protected]>
Co-authored-by: Martin <[email protected]>
Co-authored-by: Sylwester Kardziejonek <[email protected]>
Co-authored-by: Nicolas Dhers <[email protected]>
Co-authored-by: Tom McCaffery <[email protected]>
Co-authored-by: Dan <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: John Kouris <[email protected]>
Co-authored-by: Glowsome <[email protected]>
  • Loading branch information
13 people authored Mar 23, 2022
1 parent a283a18 commit d4f0f4b
Show file tree
Hide file tree
Showing 35 changed files with 21,891 additions and 23,257 deletions.
47 changes: 47 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# Note: You can use any Debian/Ubuntu based image you want.
FROM mcr.microsoft.com/vscode/devcontainers/base:bullseye

# [Option] Install zsh
ARG INSTALL_ZSH="true"
# [Option] Upgrade OS packages to their latest versions
ARG UPGRADE_PACKAGES="false"
# [Option] Enable non-root Docker access in container
ARG ENABLE_NONROOT_DOCKER="true"
# [Option] Use the OSS Moby Engine instead of the licensed Docker Engine
ARG USE_MOBY="true"

# Install needed packages and setup non-root user. Use a separate RUN statement to add your
# own dependencies. A user of "automatic" attempts to reuse an user ID if one already exists.
ARG USERNAME=automatic
ARG USER_UID=1000
ARG USER_GID=$USER_UID
COPY library-scripts/*.sh /tmp/library-scripts/
RUN apt-get update \
&& /bin/bash /tmp/library-scripts/common-debian.sh "${INSTALL_ZSH}" "${USERNAME}" "${USER_UID}" "${USER_GID}" "${UPGRADE_PACKAGES}" "true" "true" \
# Use Docker script from script library to set things up
&& /bin/bash /tmp/library-scripts/docker-in-docker-debian.sh "${ENABLE_NONROOT_DOCKER}" "${USERNAME}" "${USE_MOBY}" \
# Clean up
&& apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* /tmp/library-scripts/

VOLUME [ "/var/lib/docker" ]

# Setting the ENTRYPOINT to docker-init.sh will start up the Docker Engine
# inside the container "overrideCommand": false is set in devcontainer.json.
# The script will also execute CMD if you need to alter startup behaviors.
ENTRYPOINT [ "/usr/local/share/docker-init.sh" ]
CMD [ "sleep", "infinity" ]

# [Optional] Uncomment this section to install additional OS packages.
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install php7.4-cli php7.4-curl php7.4-dom php7.4-intl php7.4-json php7.4-mbstring php7.4-xml

# Install Composer.
COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer

# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10
# nvm environment variables
# ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 12

# Install Node Version Manager(NVM).
RUN su vscode -c "curl --silent -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash"
29 changes: 29 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.192.0/containers/docker-in-docker
{
"name": "Docker in Docker",
"dockerFile": "Dockerfile",
"runArgs": ["--init", "--privileged"],
"mounts": ["source=dind-var-lib-docker,target=/var/lib/docker,type=volume"],
"overrideCommand": false,

// Set *default* container specific settings.json values on container create.
"settings": {},

// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-azuretools.vscode-docker"
],

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "npm run setup",

// Use 'postStartCommand' to run commands after the container has started.
"postStartCommand": "npm start -- --update",

// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}
Loading

0 comments on commit d4f0f4b

Please sign in to comment.