我在不同的端口上运行了2个不同的应用程序。 1是React客户端,另一个是Express服务器。服务器非常简单,它只是从Instagram接收代码并发出一个post请求来获取访问令牌。
我获得了访问令牌但我想将其发送回客户端以便它可以使用它。但客户端不向服务器发出请求。
流程就是这样。
客户 - >按按钮验证用户
render() {
return (
<div>
<button onClick={() => {
window.open('https://api.instagram.com/oauth/authorize/?client_id=ID&redirect_uri=http://localhost:8000&response_type=code', '_blank')
}}>Authenticate</button>
</div>
)
}
然后服务器收到代码
router
.get("/", (req, res) => {
if (req.query.code !== 'undefined') {
axios.post('https://api.instagram.com/oauth/access_token', querystring.stringify({
'client_id': '6',
'client_secret': 'e',
'grant_type': 'authorization_code',
'redirect_uri': 'http://localhost:8000',
'code': req.query.code
}))
.then(response => {
console.log(response.data)
})
.catch(error => {
console.log(error)
})
}
})
我的。然后回复收到经过身份验证的对象,但现在我被卡住了。如何在客户端中使用经过身份验证的对象?如何将其发回客户端?我应该寄回去吗?
我的客户端正在端口8080上运行
我更愿意在我的客户端进行所有api调用,因为这就是我所知道的。我不知道表达得很好,宁愿只使用我所知道的React / Redux。
答案 0 :(得分:0)
您需要做的就是在回复中发送数据。
为此你需要写
res.send(response.data);