nodejs egg-jwt 生成token

简介: nodejs egg-jwt 生成token
//下载 插件
npm install egg-jwt --save
// {app_root}/config/plugin.js  配置插件
exports.jwt = {
  enable: true,
  package: "egg-jwt"
};
// {app_root}/config/config.default.js 设置密钥
exports.jwt = {
  secret: "123456" //自己设置的值
};

自己画的流程图:


react/src/views/login.jsx:

  post('/login',{username,psw}).then(res => {
  console.log(res) // 后端返回的token
  window.localStorage.setItem('token',res)
})

egg / app / controller / login.js:

'use strict';
const Controller = require('egg').Controller;
class LoginController extends Controller {
  async index() {
    const { ctx } = this;
    let {userName,psw} = ctx.request.body;
    let result = await this.service.login.index(userName,psw) // 交给service处理生成 token
    ctx.body = result;
  }
}
module.exports = LoginController;

egg / app / service/ login.js:

module.exports = app => {
  class LoginService extends app.Service {
    async index(userName,psw) {
        if(userName&&psw){
            const token = app.jwt.sign({ userName,psw }, app.config.jwt.secret,{expiresIn:'24h'});
            /*
            * sign({根据什么生成token})
            * app.config.jwt.secret 配置的密钥
            * {expiresIn:'24h'} 过期时间
      */
            return token
        }
    }
  }
  return LoginService
}

egg / app/ router.js:

router.get('/getData',jwt, controller.getData.index); // jwt 指明这个请求需要token才能收到返回结果

拦截器:

//拦截
request.interceptors.request.use((config) => {
    config.headers.authorization = `Bearer ${window.localStorage.getItem("token")}`;
    return config;
}, (err) => {
    console.error(err);
});
//拦截响应
request.interceptors.response.use((response) => {
    return response.data;
}, (err) => {
    console.log(err);
});
目录
相关文章
|
1月前
|
JSON 安全 Go
Go语言中使用JWT鉴权、Token刷新完整示例,拿去直接用!
本文介绍了如何在 Go 语言中使用 Gin 框架实现 JWT 用户认证和安全保护。JWT(JSON Web Token)是一种轻量、高效的认证与授权解决方案,特别适合微服务架构。文章详细讲解了 JWT 的基本概念、结构以及如何在 Gin 中生成、解析和刷新 JWT。通过示例代码,展示了如何在实际项目中应用 JWT,确保用户身份验证和数据安全。完整代码可在 GitHub 仓库中查看。
152 1
|
3月前
|
存储 中间件 API
ThinkPHP 集成 jwt 技术 token 验证
本文介绍了在ThinkPHP框架中集成JWT技术进行token验证的流程,包括安装JWT扩展、创建Token服务类、编写中间件进行Token校验、配置路由中间件以及测试Token验证的步骤和代码示例。
ThinkPHP 集成 jwt 技术 token 验证
|
2月前
|
JavaScript
Node.js单点登录SSO详解:Session、JWT、CORS让登录更简单(二)
Node.js单点登录SSO详解:Session、JWT、CORS让登录更简单(一)
49 0
|
2月前
|
存储 JSON JavaScript
Node.js单点登录SSO详解:Session、JWT、CORS让登录更简单(一)
Node.js单点登录SSO详解:Session、JWT、CORS让登录更简单(一)
114 0
|
3月前
|
JSON 安全 数据安全/隐私保护
从0到1搭建权限管理系统系列三 .net8 JWT创建Token并使用
【9月更文挑战第22天】在.NET 8中,从零开始搭建权限管理系统并使用JWT(JSON Web Tokens)创建Token是关键步骤。JWT是一种开放标准(RFC 7519),用于安全传输信息,由头部、载荷和签名三部分组成。首先需安装`Microsoft.AspNetCore.Authentication.JwtBearer`包,并在`Program.cs`中配置JWT服务。接着,创建一个静态方法`GenerateToken`生成包含用户名和角色的Token。最后,在控制器中使用`[Authorize]`属性验证和解析Token,从而实现身份验证和授权功能。
238 3
|
3月前
|
存储 JSON 前端开发
node使用token来实现前端验证码和登录功能详细流程[供参考]=‘很值得‘
本文介绍了在Node.js中使用token实现前端验证码和登录功能的详细流程,包括生成验证码、账号密码验证以及token验证和过期处理。
66 0
node使用token来实现前端验证码和登录功能详细流程[供参考]=‘很值得‘
|
4月前
|
存储 JSON JavaScript
震撼!Cookie、Session、Token、JWT 终极对决:揭开 Web 认证的神秘面纱!
【8月更文挑战第13天】Web 开发中,Cookie、Session、Token 和 JWT 常混淆。Cookie 是服务器给客户端的小信息片,如登录状态,每次请求都会返回。Session 则是服务器存储的用户数据,通过 Session ID 追踪。Token 类似通行证,证明客户端身份且可加密。JWT 是结构化的 Token,含头部、载荷及签名,确保数据完整性和安全性。
75 4
|
4月前
|
API
【Azure Developer】记录一段验证AAD JWT Token时需要设置代理获取openid-configuration内容
【Azure Developer】记录一段验证AAD JWT Token时需要设置代理获取openid-configuration内容
|
4月前
|
JavaScript 前端开发 Linux
【Azure 应用服务】NodeJS Express + MSAL 实现API应用Token认证(AAD OAuth2 idToken)的认证实验 -- passport.authenticate()
【Azure 应用服务】NodeJS Express + MSAL 实现API应用Token认证(AAD OAuth2 idToken)的认证实验 -- passport.authenticate()
|
4月前
|
JSON Java API
【Azure Developer】如何验证 Azure AD的JWT Token (JSON Web 令牌)?
【Azure Developer】如何验证 Azure AD的JWT Token (JSON Web 令牌)?
105 0