这是Okta的问题。我只是以为我在这里发帖,因为Okta的社区很小,他们可能需要数周才能回复。我希望这里的人有与他们合作的经验……或者这不是一个好的问题,而更多是一个反应生产构建问题。当通过express作为静态文件提供服务时,React build / PROD是否会限制其模块的使用?
我已经在后端使用express.js并在前端使用react.js部署了我的应用程序。在运行“ npm run build”并从Express引用构建目录后,我能够使我的应用通过服务器端呈现react组件。
这里的问题是当调用诸如okta.signIn()之类的'@ okta / okta-react'程序包时,我首先收到一个401 api /身份验证错误,认为这是COR或相关问题。在进一步调试之后,启动客户端(npm start(dev),而不是npx serve(prod)),okta.signIn()起作用。
'@ okta / okta-react'软件包在生产环境中不起作用吗?是否因为我通过express将其作为静态文件提供?这里有什么解决方案?我是否必须改为实施okta服务器端,如果是,那么react软件包的目的是什么?
使用快递的原因:
真正的HTTPS服务器端 邮件集成 其他第三方集成
客户端package.json
"scripts": {
"start": "serve -s build -l 80","build": "node scripts/build.js","dev": "pm2 start scripts/start.js","test": "node scripts/test.js --env=jsdom"
},"proxy": "http://localhost:443",
app.js服务器
app.use(express.static(path.join(__dirname,'client/build')));
app.get('*',(req,res) => {
res.sendFile(path.join(__dirname,'client/build/index.html'))
})