AH JWT Auth icon

AH JWT Auth

AH JWT Auth is a WordPress plugin with the following stats:

  • #13,897 Global Rank
  • 10+ active installs
  • Since 2021 5 years active

PF Score (About PF Scores)

PF Score is not a quality guarantee. It is a ranking based on available public signals.

Bronze52.1
Platinum
Gold
Silver
Bronze
Low

Score Breakdown

16.7
Popularity 40% 10+ active installs
60
Reputation 35% No ratings yet
97.8
Freshness 25% Updated 1 months ago

No vulnerability history

Download Trends

Loading download data…

Vulnerabilities

No known vulnerabilities

This plugin has no records in the Wordfence Intelligence vulnerability database.

About AH JWT Auth

This plugin allows sign in to WordPress using a JSON Web Token (JWT) contained in a HTTP Header.

This plugin allows sign in to WordPress using a JSON Web Token (JWT) contained
in a HTTP Header that is added by a reverse proxy that sits in front of your
WordPress deployment.

Authentication and optionally role assignment is handled by claims contained in
the JWT.

If configured, the plugin also validates the JWT aud and iss claims against
the expected application audience and JWT issuer values.

Verification of the JWT is handled by either:

  • a shared secret for HS256 (as per RFC 7518 this must be at least 256-bits in
    size)
  • a PEM encoded public key for RS256
  • retrieving a JSON Web Key Set (JWKS) from a configured URL (also for RS256)

During the login process if the user does not exist an account will be created
with a matching role from the JWT, unless automatic user creation has been
disabled in the plugin settings.

If the JWT did not contain a role claim then user is created with the role set
in the plugin settings (by default this is the subscriber role).

Automatic user creation is enabled by default for backwards compatibility. It
can be disabled when user provisioning should remain manual.

Screenshots

This example shows a configuration with a WordPress install behindCloudflare Access for SSO via JWT

This example shows a configuration with a WordPress install behind Cloudflare Access for SSO via JWT

Frequently Asked Questions

What header is the JWT retrieved from?

By default the plugin looks for the JWT in the Authorization header as
follows:

Authorization: Bearer <JWT Here>

However the token may be retrieved from a configurable HTTP header, for example
to integrate with Cloudflare Access, which was the original target for this
plugin, you would configure the use of the Cf-Access-Jwt-Assertion header.

What claims should the JWT contain?

The JWT must contain at least an email claim and may also contain a role claim:

{
    "iss": "example.com",
    "aud": "example-audience-id",
    "email": "[email protected]",
    "iat": 1356999524,
    "nbf": 1357000000,
    "role": "admin"
}

The aud and iss claims are only required when a JWT Audience and/or Issuer
value has been configured in the plugin settings, however as they are standard
JWT claims it is recommended to set these options to verify those claims exist
and are valid.

What signature algorithms are supported to verify the JWT?

Currently only the HS256 and RS256 algorithms are supported.

Ratings & Reviews

Recent Reviews

Loading reviews…

View all reviews on WordPress.org (opens in a new tab)

Changelog

2.4.0

  • Fix fatal error with JWKS caching

2.3.0

  • Replace JWKS caching process

2.2.0

  • Spelling fixes and hardening
  • Add option to enforce JWT auth (ie “fail-closed”) rather than falling
    through to WordPress authentication.

2.1.0

  • Add option to verify JWT issuer

2.0.0

  • Breaking Change: Any secrets that are less than 256-bits (32-characters)
    in length will fail JWT HS256 verification

1.6.0

  • Added option to verify JWT Audience (AUD)
  • Added option to disable automatic user creation

1.5.4

  • Fix bug that meant role was not being set based on selection

1.5.3

  • Make JWKS refresh function public

1.5.1

  • Fixes for JWKS refresh process

1.5.0

  • Add WP cron job to refresh JWKS daily

1.4.1

  • Update dependencies to resolve security issue

1.3.1

  • Clean-ups and bug fixes

1.3.0

  • Allow setting default role for auto-created users

1.2.2

  • Version bump for plugin update on WordPress.org

1.2.1

  • Version bump for plugin update on WordPress.org

1.2.0

  • Fix a bug where an invalid JSON response from JWKS URL was cached leading to broken SSO

1.1.0

  • Make login process more efficient by skipping JWT verify/login if user is already authenticated

1.0.3

  • Initial release on WordPress.org

1.0.2

  • Added internationalisation for strings
  • Changes based on WordPress.org plugin submission feedback

1.0.1

  • Added more error checking

1.0.0

  • First version

Alternatives to AH JWT Auth

Other WordPress plugins serving a similar purpose, ranked by relevance and PF Score.

Platinum90.0
WPS Limit Login icon

WPS Limit Login

Throttles login attempts by IP address to reduce brute force attack risk on WordPress sites.

★ 4.9/5·100K+ installs·Updated 14 Aug 2026
Gold83.2
WP-Members Membership Plugin icon

WP-Members Membership Plugin

Restrict content access through member login, custom registration fields, and user profiles.

★ 4.6/5·50K+ installs·Updated 27 Feb 2026
Gold82.0
Google Authenticator icon

Google Authenticator

Adds two-factor authentication to WordPress logins via Google Authenticator integration.

★ 4.3/5·20K+ installs·Updated 28 Jul 2026
Gold80.9
WP Limit Login Attempts icon

WP Limit Login Attempts

Limits login attempts and blocks suspicious IP addresses to prevent brute force attacks.

★ 4.6/5·10K+ installs·Updated 20 May 2026
Gold76.9
Authorizer icon

Authorizer

Manage login security and integrate external authentication sources like OAuth2, Google, LDAP, or CAS.

★ 5/5·5K+ installs·Updated 22 Jul 2026
Gold76.2
Log in with Google icon

Log in with Google

Minimal plugin that allows WordPress users to log in using Google.

★ 4.6/5·6K+ installs·Updated 13 Aug 2026
Gold75.9

authLdap

Use your existing LDAP flexible as authentication backend for WordPress

★ 5/5·4K+ installs·Updated 12 Jul 2026
Platinum98.3
WPS Hide Login icon

WPS Hide Login

Redirect WordPress login from wp-login.php to a custom URL you specify.

★ 4.8/5·2.0M+ installs·Updated 13 Aug 2026
Platinum98.0
Loginizer icon

Loginizer

Protects WordPress login pages from brute force attacks through automated threat detection and blocking.

★ 4.8/5·1.0M+ installs·Updated 3 Aug 2026