Javascript 内容类型与JSON不兼容
使用下面的代码,我试图在节点中使用simple-oauth2库创建一个Javascript 内容类型与JSON不兼容,javascript,node.js,json,express,oauth-2.0,Javascript,Node.js,Json,Express,Oauth 2.0,使用下面的代码,我试图在节点中使用simple-oauth2库创建一个accessToken。 我有server.js和app.js文件。问题是,每次我尝试调用getToken方法时,它都会返回以下错误,即内容类型与JSON不兼容。我用邮递员调用/token端点,请求的内容类型设置为application/json 以前有人遇到过这个问题吗 server.js 'use strict'; const app = require('express')() const bodyParser = r
accessToken
。
我有server.js和app.js文件。问题是,每次我尝试调用getToken
方法时,它都会返回以下错误,即内容类型与JSON不兼容。我用邮递员调用/token
端点,请求的内容类型设置为application/json
以前有人遇到过这个问题吗
server.js
'use strict';
const app = require('express')()
const bodyParser = require('body-parser')
app.use(bodyParser.json())
const port = 3000;
module.exports = (cb) => {
app.listen(port, (err) => {
if (err) return console.error(err);
console.log(`Express server listening at http://localhost:${port}`);
return cb({
app
});
});
};
app.js
const createApplication = require('./server');
const simpleOauthModule = require('simple-oauth2');
require('dotenv').config()
const credentials = {
client: {
id: process.env.CLIENT_ID,
secret: process.env.CLIENT_SECRET
},
auth: {
tokenHost: 'http://localhost:3000/test'
}
};
createApplication(({ app }) => {
app.post('/token', async (req, res) => {
const oauth2 = simpleOauthModule.create(credentials);
var contype = req.headers['content-type']; // <-- application/json
const tokenConfig = {
username: "test",
password: "1234"
};
try {
const result = await oauth2.ownerPassword.getToken(tokenConfig); //Error occuress
const accessToken = oauth2.accessToken.create(result);
console.log('Access Token: ', accessToken);
} catch (error) {
console.log('Access Token Error', error.message);
}
});
app.post('/test', async (req, res) => {
});
});
const createApplication=require('./server');
const simpleOauthModule=require('simple-oauth2');
require('dotenv').config()
常量凭据={
客户:{
id:process.env.CLIENT_id,
机密:process.env.CLIENT\u secret
},
认证:{
主机:'http://localhost:3000/test'
}
};
createApplication(({app})=>{
app.post('/token',异步(req,res)=>{
const oauth2=SimpleAuthModule.create(凭证);
var contype=req.headers['content-type'];//{
});
});
在发出请求之前,您需要用JSON序列化您的对象。在我将对象传递到getToken
方法之前,我尝试使用JSON.stringify(tokenConfig)
。您能在之前控制台.log tokenConfig并显示输出吗?