Как перенаправить пользователя из django в react при активации учетной записи электронной почты
Я потратил несколько дней в поисках решения этой проблемы, но продолжаю ходить по кругу. У меня есть приложение react, которое получает API от django. Каждая часть приложения react и django работает индивидуально. С помощью postman я могу проверить учетную запись API на верификацию электронной почты, и пользователь проходит верификацию. Когда я заполняю форму регистрации аккаунта в react и отправляю ее, пользователю отправляется сообщение с подтверждением электронной почты. Когда я нажимаю на ссылку активации, как мне перенаправить пользователя на react, поскольку ссылка активации электронной почты создана в django и как таковая имеет домен django, а не домен react.
React App
function App() {
return (
<Router>
<Header />
<main className="py-3">
<>
<Route path='/signup' component={SignUpScreen} />
<Route exact path='/activate/:uid/:token' component={ ActivateAccount} />
</>
</main>
</Router>
);
}
Account Activation Component
const ActivateAccount = ({ verify, match }) => {
const [verified, setVerified] = useState(false);
const dispatch = useDispatch()
const verify_account = e => {
const uid = match.params.uid;
const token = match.params.token;
dispatch(verify(uid, token));
setVerified(true);
};
if (verified) {
return <Redirect to='/' />
}
return (
<Container className=' auth-container pt-4'>
<Form className="auth-form">
<Button
className="auth-button btn btn-block w-100"
type="submit"
onClick={verify_account}
>
Activate Account
</Button>
</Form>
</Container>
)
}
export default connect(null, { verify })(ActivateAccount);
urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('djoser.urls')),
path('api/', include('djoser.urls.jwt')),
path('api/', include('accounts.urls')),
]
settings.py
DJOSER = {
'SEND_CONFIRMATION_EMAIL': True,
'USER_CREATE_PASSWORD_RETYPE': True,
'LOGIN_FIELD': 'email',
'SET_USERNAME_RETYPE': True,
'SET_PASSWORD_RETYPE': True,
'ACTIVATION_URL': 'activate/{uid}/{token}',
'SEND_ACTIVATION_EMAIL': True,
'SERIALIZERS': {
'user_create': 'accounts.serializers.UserCreateSerializer',
'user': 'accounts.serializers.UserCreateSerializer',
'current_user': 'accounts.serializers.UserCreateSerializer',
}
}
Пожалуйста, любая помощь о том, как я могу достичь этого, будет очень ценна
Мне кажется, что лучшим вариантом будет, если сгенерированный url активации будет указывать на ваш домен React, хэшировать необходимую информацию в параметре запроса url, а затем вызвать конечную точку /activate из вашего приложения React.