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