WordPress plugin intelligence profile

Datawiza Proxy Auth Plugin – SSO

The Proxy Auth Plugin helps developers/DevOps/admins easily implement authentication and authorization for WordPress by using a JWT (JSON Web Token) p …

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 5.8
Current version1.1.2
WordPress coverageTested up to WordPress 5.8
Minimum stackWP 3.0.1 · PHP 5.6
Directory statusactive
Last directory update25 Oct 20215y ago
Active installationsNewAdoption metric — not a quality score
WordPress.org rating4.0 / 5 from 1 ratings
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records Datawiza Proxy Auth Plugin – SSO version 1.1.2 as active, updated 5y ago and tested up to WordPress 5.8.

Overview

About this plugin

The Proxy Auth Plugin helps developers/DevOps/admins easily implement authentication and authorization for WordPress by using a JWT (JSON Web Token) provided by a reverse proxy.

, Datawiza Access Broker and Google IAP.

Note that the plugin requires a reverse proxy sitting in front of the WordPress site. The reverse proxy performs authentication, and passes the user name and role in a JWT to the plugin via a HTTP header called DW-TOKEN.

By using Datawiza Access Broker, you get a configuration-based no-code solution, following the detail instruction here.

If you decide to use your own reverse proxy, please follow the instructions below.

How it works

  • The plugin retrieves the user id (email) from the JWT and then checks if such a user exists. If not, the plugin creates a new user by using this email and signs him/her in.
  • The plugin retrieves the user role from the JWT and sets it as the user’s role in WordPress.

-

The plugin expects the JWT including user id and role as a HTTP header DW-TOKEN. For example, the payload of JWT may look like:

{

“role”: “administrator”,

com”

}

Plugin config in WordPress

In Setting -> Datawiza Proxy Auth, you need to input a private secret which is used as a Cryptography Key. Such secret is shared between the plugin and the reverse proxy which is responsible for passing the JWT to the plugin. The Signing Algorithm for the JWT is HS256.

NOTES!!!

  • If the enabled Proxy Auth Plugin cannot retrieve the expected JWT in the HTTP header, the plugin will not work. The authentication will use the default authentication of wordpress and you will see an error banner on top of the wordpress pages.
  • MAKE SURE that clients cannot bypass the reverse proxy. This is to prevent people from sending forged malicious requests with arbitrary JWTs directly to WordPress.
  • It’s recommended that the reverse proxy in front of the WordPress site erases the incoming http request’s DW-TOKEN header. The DW-TOKEN header should be generated by the reverse proxy only.
  • If admin doesn’t assign role to the user, user’s role will be subscriber for WordPress by default.
  • If user’s role has been updated in JWT, the plugin will update the role in WordPress accordingly.

Generate the JWT required by the plugin

If you are using openresty/lua-nginx-module, here is the code sample to generate the JWT required by the plugin:

set_header('DW-TOKEN', jwt_token)

The jwt_secret above should be the same private secret input in Setting -> Datawiza Proxy Auth. The role in payload is optional. If it’s not specified, the default role is subscriber.

For more details about lua-resty-jwt, you can visit here.

WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • auth
  • oidc
  • proxy
  • saml
  • sso
Compatibility & maintenance

Compatibility & maintenance

Tested up to WordPress 5.8

Not yet marked as tested with WordPress 7.1. WordPress.org currently lists Tested up to 5.8.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to5.8
Minimum requirementsWordPress 3.0.1 · PHP 5.6
Update activity25 Oct 20215y ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.