Node.js 如何在React和Express之间使用Oauth回调?
我正在尝试将MailChimp的API集成到我的React应用程序中,这将允许用户授权他们的MailChimp帐户在我的应用程序中使用。我还没有找到关于它的教程,因此我将遵循仅使用express的本教程: 我已经通过Mailchimp设置了我的应用程序/我的客户机密/客户id等: 重定向URI ``````` 我保留了与教程相同的express代码,只是将我的客户机机密放在了.env文件中: server.js 但是,在本教程中,回调函数位于如下编写的HTML文件中:Node.js 如何在React和Express之间使用Oauth回调?,node.js,reactjs,mailchimp,mailchimp-api-v3.0,Node.js,Reactjs,Mailchimp,Mailchimp Api V3.0,我正在尝试将MailChimp的API集成到我的React应用程序中,这将允许用户授权他们的MailChimp帐户在我的应用程序中使用。我还没有找到关于它的教程,因此我将遵循仅使用express的本教程: 我已经通过Mailchimp设置了我的应用程序/我的客户机密/客户id等: 重定向URI ``````` 我保留了与教程相同的express代码,只是将我的客户机机密放在了.env文件中: server.js 但是,在本教程中,回调函数位于如下编写的HTML文件中: <!doctype
<!doctype html>
<html>
<head>
<title>Integrate MailChimp</title>
</head>
<body>
<a class="btn btn-primary" href="/mailchimp/auth/authorize">Connect with MailChimp</a>
</body>
</html>
我在网上搜索了一下,试图找到一个使用React&Express for MailChimp Oauth进行应用程序授权的工作示例,但我还没有找到。我的问题是,我是否在重定向中设置了一些错误,或者在React中是否有更好的建议来处理此请求?404错误表示您没有映射到
/mailchimp/auth/callback
的路由。从你的代码看你还没有写过
除非您尚未提供相应的代码,否则您需要教程中代码提到的路由处理程序:
app.get('/mailchimp/auth/callback', function(req, res) {
request.post('https://login.mailchimp.com/oauth2/token')
.send(querystring.stringify({
...
}
使用
localhost
代替127.0.0.1
,有什么区别吗?@GBWDev是的,文档要求您使用127.0.0.1而不是localhost。我可以看看您的repo吗?我需要实现同样的目标,Thanks@KaleemElahi我这里有一个使用GITHUB进行OAuth访问的例子:感谢您指出这一点,我的眼睛呆滞了,认为它与mailchimp/auth/authorize
相同。我可以登录和回拨代码。
class MailChimp extends Component {
render() {
return (
<div>
<h1>MailChimp Auth</h1>
<a href={'http://127.0.0.1:3000/mailchimp/auth/authorize'}>Mailchimp</a>
</div >
)
}
}
export default withRouter(MailChimp);
GET /mailchimp/auth/callback 404 2.818 ms - 162
Failed to load resource: the server responded with a status of 404 (Not Found)
app.get('/mailchimp/auth/callback', function(req, res) {
request.post('https://login.mailchimp.com/oauth2/token')
.send(querystring.stringify({
...
}