我有一个react-redux应用程序,并使用passport-facebook进行身份验证。我希望用户能够从应用的任何页面登录,然后立即返回(重定向)到同一页面。达到此目的的最佳实践方法是什么?如何重定向到用户通过passport-facebook身份验证在react-redux应用程序中登录的页面?
到目前为止,我已经提出了以下解决方案,但它感觉不对。我创建了一个'虚拟'SuccessLogin组件,并在成功登录后重定向到该组件。在“虚拟”组件中,我将用户重定向到以前的位置。
服务器端代码:
router.get '/facebook/callback', passport.authenticate('facebook', { successRedirect: '/success', failureRedirect: '/auth' })
我的 '虚拟' 成分是这样的:
class SuccessLogin extends React.Component
componentDidMount:() ->
@props.redirectBack()
render:() ->
null
这是怎么redirectBack
定义:
redirectBack =() ->
(dispatch, getState) ->
dispatch go(-1)
go
是动作来自React-Router-Redux的创建者:https://github.com/reactjs/react-router-redux
我会遇到这个解决方案的任何问题吗?什么是更好的方式来实现这个逻辑?