2017-05-16 19 views
2

DjangoのWebサイトが稼動しています。ユーザーはログイン、データの保存、メモの保存などができます。私はこのWebサイトのモバイルアプリケーションを作成したいと思います。 React-JSで私のウェブサイトのフロントエンドを作ったからです。React-NativeでDjangoのWebサイトに接続する

アプリからウェブサイトのユーザーデータを取得したいと考えています。 React-NativeにはAJAX呼び出しと同様のfetch関数があることがわかりました。問題は、適切なデータを取得するためにrequest.userの値を読み取っているときに、何かを返すPOST呼び出しのためにユーザーを認証する必要があることです。また、適切なcsrfトークンがなければ、DjangoはPOST呼び出しを許可しません。

適切なrequest.user値でフェッチを行い、反応ネイティブアプリからcsrfセキュリティテストを渡すにはどうすればよいですか?

答えて

1

モバイルアプリケーションでは、まず、Django Rest FrameworkでAPIを作成します。認証では、Token Authenticationを使用する必要があります。そのため、各リクエストには、次のような聞き手がありますAuthorization: Token user_token。このトークンを使用すると、ビュー内でrequest.userを使用して、通常どおりユーザーを識別できます。 では、あなたが(トークンを取得する)、ログイン要求を行うために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 
    }); 
関連する問題