我正在为受jwt
. 一个 API 操作 POST/user/token
返回jwt
给定的 ausername
和 a password
,然后此令牌用于一系列操作,例如:
GET /user/:id
路由使用的位置jwt({secret: secret.secretToken})
,因此令牌包含在 HTTP 标头Authorization
中。
使用 supertest 进行测试时,我可以进行嵌套测试,但我想先获取令牌,然后使用此令牌测试其他操作。
POST /user/token => 12345
GET /user/:id, `Authorization Bearer 12345`
GET /user/:foo, `Authorization Bearer 12345`
如何避免为每个操作测试生成一个新令牌(见下文),但只使用一个由 POST /user/token 生成的令牌。
it('should get a valid token for user: user1', function(done) {
request(url)
.post('/user/token')
.send({ _id: user1._id, password: user1.password })
.expect(200) // created
.end(function(err, res) {
// test operation GET /user/:id