Merge branch 'login-redirect-fix' into 'develop'
Redirect user away from /auth/sign_in after success, fixes #612 Closes #612 See merge request soapbox-pub/soapbox-fe!468
This commit is contained in:
commit
1fef983805
2 changed files with 12 additions and 2 deletions
|
@ -1,5 +1,6 @@
|
|||
import React from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { Redirect } from 'react-router-dom';
|
||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import LoginForm from './login_form';
|
||||
import OtpAuthForm from './otp_auth_form';
|
||||
|
@ -22,6 +23,7 @@ class LoginPage extends ImmutablePureComponent {
|
|||
isLoading: false,
|
||||
mfa_auth_needed: false,
|
||||
mfa_token: '',
|
||||
shouldRedirect: false,
|
||||
}
|
||||
|
||||
getFormData = (form) => {
|
||||
|
@ -36,6 +38,7 @@ class LoginPage extends ImmutablePureComponent {
|
|||
dispatch(logIn(username, password)).then(({ access_token }) => {
|
||||
return dispatch(verifyCredentials(access_token));
|
||||
}).then(account => {
|
||||
this.setState({ shouldRedirect: true });
|
||||
if (typeof me === 'string') {
|
||||
dispatch(switchAccount(account.id));
|
||||
}
|
||||
|
@ -50,7 +53,9 @@ class LoginPage extends ImmutablePureComponent {
|
|||
}
|
||||
|
||||
render() {
|
||||
const { isLoading, mfa_auth_needed, mfa_token } = this.state;
|
||||
const { isLoading, mfa_auth_needed, mfa_token, shouldRedirect } = this.state;
|
||||
|
||||
if (shouldRedirect) return <Redirect to='/' />;
|
||||
|
||||
if (mfa_auth_needed) return <OtpAuthForm mfa_token={mfa_token} />;
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import React from 'react';
|
||||
import { connect } from 'react-redux';
|
||||
import { Redirect } from 'react-router-dom';
|
||||
import { injectIntl, FormattedMessage, defineMessages } from 'react-intl';
|
||||
import ImmutablePureComponent from 'react-immutable-pure-component';
|
||||
import { otpVerify, verifyCredentials, switchAccount } from 'soapbox/actions/auth';
|
||||
|
@ -18,6 +19,7 @@ class OtpAuthForm extends ImmutablePureComponent {
|
|||
state = {
|
||||
isLoading: false,
|
||||
code_error: '',
|
||||
shouldRedirect: false,
|
||||
}
|
||||
|
||||
static propTypes = {
|
||||
|
@ -39,6 +41,7 @@ class OtpAuthForm extends ImmutablePureComponent {
|
|||
this.setState({ code_error: false });
|
||||
return dispatch(verifyCredentials(access_token));
|
||||
}).then(account => {
|
||||
this.setState({ shouldRedirect: true });
|
||||
return dispatch(switchAccount(account.id));
|
||||
}).catch(error => {
|
||||
this.setState({ isLoading: false });
|
||||
|
@ -52,7 +55,9 @@ class OtpAuthForm extends ImmutablePureComponent {
|
|||
|
||||
render() {
|
||||
const { intl } = this.props;
|
||||
const { code_error } = this.state;
|
||||
const { code_error, shouldRedirect } = this.state;
|
||||
|
||||
if (shouldRedirect) return <Redirect to='/' />;
|
||||
|
||||
return (
|
||||
<form className='simple_form new_user otp-auth' method='post' onSubmit={this.handleSubmit}>
|
||||
|
|
Loading…
Reference in a new issue