项目作者: dderevjanik

项目描述 :
javascript JWT auth for https://github.com/Tmeister/wp-api-jwt-auth
高级语言: TypeScript
项目地址: git://github.com/dderevjanik/wordpress-jwt-auth.git
创建时间: 2017-07-02T23:19:15Z
项目社区:https://github.com/dderevjanik/wordpress-jwt-auth

开源协议:MIT License

下载


Wordpress JWT Auth

travis-badge

JS Wrapper for wp-api-jwt-auth

Installation

Please, make sure that you have:

install this package:

  1. npm install wordpress-jwt-auth

Example

connectToJwt(host)

Authenticate using JWT

  1. import { connectToJwt } from 'wordpress-jwt-auth';
  2. // Promise
  3. connectToJwt('https://www.myhosting.com/wordpress').then((jwtConnection) => {
  4. jwtConnection.generateToken('admin', 'password').then(userConnection) => {
  5. console.log(userConnection.token);
  6. // generated token
  7. jwtConnection.validate().then(validated => {
  8. console.log(validate);
  9. // true
  10. });
  11. });
  12. });
  13. // Await/Async
  14. const jwtConnection = await connectToJwt('https://www.myhosting.com/wordpress');
  15. const { token } = await jwtConnection.generateToken('admin', 'password');
  16. console.log(jwtConnection.validate(token));
  17. // true

generateToken(username, password)

You can import generateToken directly from library

  1. import { generateToken } from 'wordpress-jwt-auth';
  2. const { token } = generateToken('admin', 'root');

Real use

Deleting a post with id 32 from wordpress using REST API

  1. import axios from 'axios';
  2. import { connectToJwt } from 'wordpress-jwt-auth';
  3. const WP_URL = 'https://www.mywordpress.com';
  4. const POST_ID_TO_DELETE = 32;
  5. const { generateToken } = await connectToJwt(WP_URL);
  6. const { token } = await generateToken('superadmin', '2489cs12mklz');
  7. const authHeader = { headers: { Authorization: `bearer ${token}` } };
  8. axios.delete(`${WP_URL}/wp-json/wp/v2/posts/${POST_ID_TO_DELETE}`, {}, authHeader);