我有一个 Django 网站正在运行,用户可以在其中登录、保存数据、做笔记等。我想为这个网站制作一个移动应用程序,我正在研究 react-native,因为我用 React-JS 制作了我的网站前端.
我希望能够从应用程序获取网站上的用户数据。我看到 React-Native 有 fetch
函数,类似于 AJAX 调用。问题是我需要对用户进行身份验证才能进行 POST 调用以返回某些内容,因为我正在阅读 request.user
值来获取正确的数据。我也知道如果没有正确的 csrf token ,Django 将不允许 POST 调用。
我怎样才能用正确的方式进行提取 request.user
值并通过 react-native 应用程序的 csrf 安全测试?
最佳答案
对于您的移动应用程序,我将首先使用 Django Rest Framework 创建 API。 .在身份验证中,您应该使用 Token Authentication
所以在每个请求中都会有跟随听者 Authorization: Token user_token
.使用此 token ,您可以像往常一样使用 request.user
识别用户。在你看来。
在 React-Native 中,你应该使用 axios执行登录请求(获取 token )和用户数据:
const config = {
headers: {
'X-CSRFToken': Cookies.get('csrftoken'),
'Content-Type': 'application/json'
}
};
axios.get(`${ROOT_URL}api/users/data/`, config_user)
.then(response => {
console.log(response.data) // User Data
});
关于django - 使用 React-Native 将用户连接到 Django 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44008422/