使用AWS Amplify创建Redux Saga Auth频道/订阅吗? 从Firebase切换

问题描述

问题:

我最近已使用AWS Amplify从Firebase切换到AWS,我想知道如何设置和身份验证通道或可能订阅以监视当前AWS用户

Firebase Auth Channel的工作方式:

  • 如果找到/登录用户,则该频道将放置loginSuccess
  • 如果找到/注销了用户,则该频道将放置logoutSuccess

AWS:

我知道您可以使用const user = await Auth.currentUserInfo();从AWS获取currentUser,但不确定这是否是正确的路线。

Firebase Auth Channel Saga:

// Redux Saga: Firebase Auth Channel
export function* firebaseAuthChannelSaga() {
  try {
    // Auth Channel (Events Emit On Login And logout)
    const authChannel = yield call(reduxSagaFirebase.auth.channel);

    while (true) {
      const { user } = yield take(authChannel);

      // Check If User Exists
      if (user) {
        // Redux: Login Success
        yield put(loginSuccess(user));
      }
      else {
        // Redux: logout Success
        yield put(logoutSuccess());
      }
    }
  }
  catch (error) {
    console.log(error);
  }
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)