Node.js는 Passport-local을 사용하여 Postman에서 성공적으로 실행되지만 Vue.js 프런트엔드에 문제가 있습니다.
P粉170858678
2023-08-30 12:18:47
<p>사용자 인증을 위해 Passport-Local을 사용하고 있습니다. 로그인한 사용자를 얻으려고 하면 우편 배달부에서는 제대로 작동하지만 "데이터를 얻으려면 먼저 로그인해야 합니다"라고 설정한 오류 메시지가 표시됩니다. 내 사용자는 vue js에서 성공적으로 로그인할 수 있지만 로그인된 사용자를 얻으려고 하면 오류 메시지가 표시됩니다. </p>
<p>내 경로는 다음과 같습니다. </p>
<pre class="brush:php;toolbar:false;">router.get('/jobs', auth ,async(req, res) => {
const 작업 = Job.find({}).sort({를 기다립니다.
생성 시간: -1
})
console.log(req.user)//이것은 postman에서는 작동하지만 vue js에서는 오류가 발생합니다.
res.send(작업)
})</pre>
<p>cors를 사용하고 있으며 출처를 지정하고 자격 증명을 true로 설정합니다. </p>
<p>내 프런트엔드 요청은 다음과 같습니다. </p>
<pre class="brush:php;toolbar:false;">시도해 보세요{
const res = axios.get('http://localhost:3000/jobs', { 기다리고 있습니다.
withCredentials : 사실
})
this.jobs = res.data를 기다립니다.
console.log(this.jobs) // 로그인했는데도 오류 메시지가 표시됩니다
}캐치(오류) {
if(error.response) {
this.message = error.response.data
}
}</pre></p>
토큰을 사용하는 경우 다음과 같이 요청에 토큰을 전달해야 합니다.
으아악Postman에서 보낸 헤더를 확인하세요.
편집: 이미지 추가