首页 > 解决方案 > Passport Authentication 通过 Postman 工作,而不是 Web App

问题描述

在后端使用 Express 和 Passport JS,我们目前能够登录到应用程序,并使用 postman 访问所有 API 请求。

但是,当我们尝试在 React JS Web 应用程序上发出需要身份验证的 API 请求时,我们会收到 401 未经授权的错误。

我们已经从邮递员请求和 Web 应用程序请求中运行了日志,并且都在标头中传递了 connect.sid cookie。

我的问题是,我如何让应用程序经过身份验证并能够像邮递员一样发出 API 请求。我以与使用 Web 应用程序相同的方式登录邮递员,但它不验证 api 请求。

我尝试过的事情:

该应用程序是一个 ReactJS 应用程序,我正在使用 Axios 进行 API 调用

标签: reactjsexpresscookiespassport.jsaxios

解决方案


我通过在登录时传递 withCredentials 来解决这个问题,这会将您的用户发送到 passport.js 并验证用户。

每次进行 API 调用时都需要调用 withCredentials


推荐阅读