我正在尝试通过Twitter获得护照认证。我的设置如下:React(with redux)前端(create-react-app),Node(with express)API。两者都在localhost(不同的端口)上运行
用户转到/login
并单击调度登录操作的按钮:
export function login() {
return dispatch => {
return axios.get('/api/auth/twitter')
.then(() => {})
}
}
服务器上的路线:
router.get('/twitter', passport.authenticate('twitter'));
回调的路线:
router.get('/twitter/callback', passport.authenticate('twitter', {failureRedirect: '/login'}), loginSuccess);
loginSuccess
目前什么都不做。
这是我得到的完整错误:
XMLHttpRequest cannot load https://api.twitter.com/oauth/authenticate?oauth_token=fGVctgAAAAAA1y22AAABXah3t3o. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://127.0.0.1:3000' is therefore not allowed access.
我正在将来自反应前端(localhost:3000)的请求代理到localhost:8080。
如果我进入chrome devtools的网络标签并从twitter api中选择响应,它看起来像这样:
如果有人知道如何使用passport-twitter身份验证来处理这种设置,请告诉我。