如何在通过 Redux 操作进行身份验证后重定向用户?

Posted

技术标签:

【中文标题】如何在通过 Redux 操作进行身份验证后重定向用户?【英文标题】:How to redirect user after authentication from Redux action? 【发布时间】:2019-06-06 14:47:22 【问题描述】:

我在 Redux 文件中使用 firebase 来验证我的用户。但是如何将他从登录页面重定向到另一个页面?

import firebase from '../app/firebase/firebase.js';

export const SIGN_IN = 'SIGN_IN'
export const GET_BOOKS = 'GET_BOOKS'

export const signInState = (email, password) => dispatch => 
          firebase.auth()
         .signInWithEmailAndPassword(email, password)
         .then(() => 
           dispatch(
          type: 'SIGN_IN',
          )
        push("/home") /// here i try to redirect user
        )
        .catch((error) => 
        console.log(error);
        alert(error);
     )

而且我的 App 文件中有 PrivateRoute。如何到达这条“路”?

      <PrivateRoute
            path="/home"
            signedInStatus=this.props.signedInStatus
            component=Home />/>

【问题讨论】:

【参考方案1】:

我刚刚用过Connected-React-Router

解决我的问题:

export const signInState = (email, password) => dispatch => 
      firebase.auth()
     .signInWithEmailAndPassword(email, password)
     .then(() => 
       dispatch(
      type: 'SIGN_IN',
      )
    dispatch(push('/home')) /// <-----that was an answer
    )

【讨论】:

以上是关于如何在通过 Redux 操作进行身份验证后重定向用户?的主要内容,如果未能解决你的问题,请参考以下文章

强制 Shibboleth 在身份验证后重定向到特定 URL

django,身份验证后重定向到ajax操作

如何在.NET 中进行基本身份验证后重定向到 Pentaho 的主页?

在 Laravel 5 中进行身份验证后重定向

在 Glassfish 上进行领域身份验证后重定向

React Router - 身份验证后重定向延迟