在 user 模块里面 ... 在文件顶部先导入 jwt .. 它来自 jsonwebtoken 模块 .. 下面再添加一个 fs .. 导入 fs 模块 .. 还需要一个 path 模块 .. 导入 path ..
然后再添加一个 privateKey .. 它是签发 JWT 的时候要用到的密钥文件里的内容 .. 用一下 fs.readFileSync .. 文件的路径可以使用 path 的 join 方法生成 .. __dirname .. 当前文件的上一级目录的上一级目录 .. config .. cert 下面的 private_key.pem ..
下面可以定义一个签发 JWT 用的方法 .. 名字叫 signToken .. 接收一个 data 参数 .. 参数的值是用户相关的数据 .. 函数里面添加一个 payload .. 可以添加一个 id .. 值是 data 里的 id .. 再添加一个 username .. 值是 data 里的 username ..
添加一个 token ,它的值用一下 jwt 上的 sign 方法 .. 给它提供一个 payload .. 还有签发 token 需要的密钥文件 .. 然后是一个配置 .. 把 algorithm 设置成 RS256 ..
最后让函数 return 签发的 token ..
找到定义登录接口的地方 .. 在验证了用户密码匹配以后 .. 添加一个 token ,它的值使用 signToken 返回 .. 把 user 交给这个函数 ..
然后做出响应 .. 响应里可以添加一个 id .. 值是 user 里的 id ... 再添加一个 username .. 值是 user 里的 username .. 另外还需要一个 token ...
下面到 http 客户端再试一下登录接口 .. 在请求里添加一个正确的用户名还有密码 .. 用 POST 方法请求登录接口 ..
这回成功以后会返回一些数据 .. 里面有用户的 id 号 .. 用户名 .. 还有一个 token 值 ..