使用React-Native将用户连接到Django网站

时间:2017-05-16 17:55:16

标签: django react-native

我有一个Django网站运行,用户可以登录,保存数据,记笔记等。我想为这个网站制作一个移动应用程序,我正在寻找本地反应,因为我使我的网站前端与反应-JS。

我希望能够从应用中获取网站上的用户数据。我看到React-Native有fetch函数,类似于AJAX调用。问题是我需要为POST调用验证用户以返回一些内容,因为我正在读取request.user值以获取正确的数据。我也知道如果没有正确的csrf令牌,Django将不允许POST调用。

如何使用正确的request.user值进行提取并从react-native应用程序传递csrf安全性测试?

1 个答案:

答案 0 :(得分:2)

对于您的移动应用程序,我会首先使用Django Rest Framework创建API。在身份验证中,您应该使用Token Authentication,因此在每个请求中都会有跟随听众Authorization: Token user_token。使用此令牌,您可以在视图中使用request.user照常识别用户。 在React-Native中,您应该使用axios来执行登录请求(获取令牌)并使用用户数据:

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
    });