Skip to content

This plugin allows you to log in, register, authenticate, delete and change the user password to a WordPress website using a JWT.

License

Notifications You must be signed in to change notification settings

nicumicle/simple-jwt-login

Repository files navigation

Banner

Rating Total Downloads Active installs PRs welcome

Contributors Last Commit Open issues Closed issues Open pull requests Closed pull requests

Simple-Jwt-Login WordPress.org version Required PHP version Latest Tested WordPress version

Current Tag Check plugin Multiple PHP Versions check Feature Tests Unit Tests Coverage License

X (formerly Twitter) Follow

Simple JWT Login is a FREE WordPress plugin that allows you to use a JWT on WordPress REST endpoints.

The main purpose of this plugin is to allow Mobile apps, or other websites to access the content from a WordPress website via REST endpoints in a secure way.

Overview

Simple-JWT-Login schema

Table of contents

💡 Installation

If you want to make sure you have a stable version, please download this plugin from WordPress.org.

Install from Zip

Note

Please note that this plugin version is not fully tested.

If you want to upload the simple-jwt-login plugin to your website:

Install from WordPress.org

Tip

For production environments we recommend installing the plugin from Wordpress.org

In order to install the latest stable version, from your WordPress admin:

  • Go to the ‘Plugins’ menu in WordPress and click ‘Add New’
  • Search for ‘Simple JWT Login’ and select ‘Install Now’
  • Activate the plugin when prompted

Setup the Plugin

  1. Go to "General" section
  2. Set a "JWT Decryption key". With this key the JWT will be validated.
  3. Choose "JWT Decryption algorithm".
  4. Go to "Login" section
  5. Set "JWT parameter key" with the payload key where user can be identified
  6. Save Changes.

🎉 Features

  • 100% Free and open-source under GPL 3.0 License
  • Authenticate : REST endpoint that will generate/validate/revoke a JWT
  • Autologin: Autologin to a WordPress website with JWT
  • Register user: Register users in WordPress by calling a REST endpoint
  • Delete user: You can delete a WordPress user by adding some details in the JWT payload.
  • Reset password: REST endpoint that allows you to reset WordPress User password. Also, it can send custom email if you want.
  • Protect endpoints: Protect WordPress endpoints with a JWT. This way, you can make some endpoints private, and the content can be viewed only if you provide a valid JWT.
  • Allow JWT usage on other endpoints: Add a JWT to requests for other API endpoints and you will act as an authenticated user.
  • Integrate with other plugins: This plugin works well in combination with other plugins that extends the WordPress REST API.
  • Google OAuth(beta): Login to your website with Google
  • Google JWT(beta): Use the Google id_token in order to access WordPress endpoints as an authenticated user.

🔌 Integrate

PHP SDK

In order to easily integrate your app/site with the simple-jwt-login plugin, we have developed a composer package.

composer require nicumicle/simple-jwt-login-client-php

You can check this GitHub repository for more details and code examples.

JavaScript SDK

The Javascript SDK can be installed using npm or yarn into your App.

npm install "simple-jwt-login"

or

yarn add "simple-jwt-login"

You can check this GitHub repository for more details.

📒 Documentation

Plugin documentation is available at simplejwtlogin.com.

🚀 Roadmap

Check out the roadmap to get informed on the latest released features, current statuses, and upcoming features.

📜 Contribute

Simple-JWT-Login is an open-source project and welcomes all contributors.

As with all WordPress projects, we want to ensure a welcoming environment for everyone.

With that in mind, all contributors are expected to follow our Code of Conduct.

How can you contribute:

🏆 Contributors

Thanks to all our contributors!

Contributors

Copyright

This project is distributed under the GNU General Public License v3.0.

By submitting a pull request to this project, you agree to license your contribution under the GNU General Public License v3.0 to this project.