【发布时间】:2021-08-16 04:45:32
【问题描述】:
我使用 Expressjs 和 Auth0 API 进行身份验证,使用 ReactJs 进行客户端。
由于 Auth0 API(与他们的团队交谈)的限制,我将更新的用户详细信息发送到我的后端,然后使用 app.set() 以便能够在另一条路线中使用 req.body。
在 app.post() 路由被命中后,我需要自动调用 app.patch() 路由。
最终目标是用户数据将被更新并显示在客户端。
const express = require('express');
const cors = require('cors');
const path = require('path');
const app = express();
require('dotenv').config()
const { auth } = require("express-openid-connect");
app.use(express.json());
app.use(cors());
app.use(express.static(path.join(__dirname, 'build')));
app.use(
auth({
issuerBaseURL: process.env.AUTH0_ISSUER_BASE_URL,
baseURL: process.env.BASE_URL,
clientID: process.env.AUTH0_CLIENT_ID,
secret: process.env.SESSION_SECRET,
authRequired: false,
auth0Logout: true,
})
);
app.get('/', async (req, res) => {
res.sendFile(path.join(__dirname, 'build', 'index.html'));
});
app.get('/api', async (req, res) => {
const stripe = require('stripe')(`${process.env.REACT_APP_Stripe_Live}`);
const invoice = await stripe.invoices.list({
limit: 3,
});
res.json(invoice);
});
app.post('/updateuser', (req, ) => {
app.set('data', req.body);
})
app.patch(`https://${process.env.AUTH0_ISSUER_BASE_URL}/api/v2/users/:id`,(req,res) => {
let val = app.get('data');
req.params = {id: val.id};
console.log(req.params);
})
app.listen(process.env.PORT || 8080, () => {
console.log(`Server listening on 8080`);
});
【问题讨论】:
标签: javascript node.js reactjs express auth0