0
내 응용 프로그램에서 하나의 차이점을 제외하고 official docs의 코드가 있습니다. POST 요청에 대한 응답으로 GET이 아닌 xsrfToken을 보냅니다.Express에서 POST 요청에 csrfToken을 가져 오는 방법은 무엇입니까?
var cookieParser = require('cookie-parser')
var csrf = require('csurf')
var bodyParser = require('body-parser')
var express = require('express')
// setup route middlewares
var csrfProtection = csrf({ cookie: true })
var parseForm = bodyParser.urlencoded({ extended: false })
var app = express()
// we need this because "cookie" is true in csrfProtection
app.use(cookieParser())
app.post('/getCsrfToken', /*csrfProtection,*/ function (req, res) {
// check credentials from request.body
// and then
res.render('send', { csrfToken: req.csrfToken() }) //EXCEPTION: csrfToken is not a function
})
app.post('/process', parseForm, csrfProtection, function (req, res) {
res.send('data is being processed')
})
나는 달걀 암탉 문제에 직면하고있어 : 내가 csrfProtection을 사용하는 경우, 내가 토큰없이 엔드 포인트의 코드로 얻을 수없는,하지만 난 그것을하지 않으면, req.csrfToken는 정의된다.
url 매개 변수로 암호를 노출하고 싶지 않기 때문에 gerCsrfToken 끝점을 POST로 설정해야합니다.