1

我目前正在后端使用 Djoser 对基于 React Native 的应用程序进行身份验证。但是,对于帐户激活,Djoser 会发送一个包含 uid 和令牌的链接。当我从链接获取 uid 和令牌时,我希望此链接在我的应用程序上打开一个页面。我需要将链接中的 uid 和令牌作为我的 react native 应用程序的激活请求中的正文发送。请建议如何做到这一点。任何帮助都会很明显,因为我被困在这个特定的部分。

4

2 回答 2

1

我集成了 djoser 和 reactjs。所以它几乎类似于 react native。它可能很有用。

在您的 django settings.py 中:

DJOSER = {
       ....

    'ACTIVATION_URL': 'user_activation/{uid}/{token}',
    'SEND_ACTIVATION_EMAIL': True,
    'SEND_CONFIRMATION_EMAIL':True,
      .....
}

网址.js

....
<Route path="/user_activation/:uid/:token" component={ActivateAccount} />
....

激活帐户.js:

const ActivateAccount = () => {

const { uid, token } = useParams();

const history = useHistory();

const activeClick = (e) => {
   
    Axios.post('http://localhost:8000/auth/users/activation/', { uid: uid, token: token })
        .then(() => {
            history.push('/login')
        })
        .catch(err => {
            alert(err.response.data);
        })
};

return (
    <Fragment>
        <Button onClick={activeClick} color="primary">Activate Now</Button>
    </Fragment>
)
}

export default ActivateAccount;
于 2021-02-09T19:25:40.170 回答
0

我遇到了同样的问题,并找到了一篇博客文章,展示了如何链接到您的 react-native 移动应用程序:https ://medium.com/react-native-training/deep-linking-your-react-native -app-d87c39a1ad5e

这使用了 react-native 中的链接:

更多规格:

使用 djoser,您可以向用户发送一封电子邮件,其中提供了一个 url 来激活用户的帐户。您发送的这个 url 应该链接到您的前端,然后它将调用您的 api 并激活用户。使用博客中指定的技术,您可能能够做到这一点。

于 2021-04-12T15:13:46.803 回答