JavaScript
Need help with egg-jwt?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
okoala

Description

JWT authentication plugin for egg

224 Stars 27 Forks MIT License 43 Commits 8 Opened issues

Services available

Need anything else?

egg-jwt

NPM version build status Test coverage David deps Known Vulnerabilities npm download

Egg's JWT(JSON Web Token Authentication Plugin)

Important

[email protected] use koa-jwt2

Install

$ npm i egg-jwt --save

or

yarn add egg-jwt

Usage

// {app_root}/config/plugin.js
exports.jwt = {
  enable: true,
  package: "egg-jwt"
};

Configuration

// {app_root}/config/config.default.js
exports.jwt = {
  secret: "123456"
};

see config/config.default.js for more detail.

Example

// app/router.js
"use strict";

module.exports = app => { app.get("/", app.jwt, "render.index"); // use old api app.jwt app.get("/login", "login.index"); app.get("/success", "success.index"); // is setting in config.jwt.match };

// app/controller/render.js ("use strict");

module.exports = app => { class RenderController extends app.Controller { *index() { this.ctx.body = "hello World"; } } return RenderController; };

// app/controller/login.js ("use strict");

module.exports = app => { class LoginController extends app.Controller { *index() { this.ctx.body = "hello admin"; } } return LoginController; };

// app/controller/success.js ("use strict");

module.exports = app => { class SuccessController extends app.Controller { *index() { this.ctx.body = this.ctx.state.user; } } return SuccessController; };

Then

curl 127.0.0.1:7001
// response 401

curl 127.0.0.1:7001/login // response hello admin

curl -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmb28iOiJiYXIiLCJpYXQiOjE0OTAwMTU0MTN9.ehQ38YsRlM8hDpUMKYq1rHt-YjBPSU11dFm0NOroPEg" 127.0.0.1:7001/success // response {foo: bar}

How To Create A Token

const token = app.jwt.sign({ foo: 'bar' }, app.config.jwt.secret);

For more options, check here

Questions & Suggestions

Please open an issue here.

License

MIT

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.