从React中的API响应设置cookie

时间:2020-04-11 18:02:29

标签: reactjs authentication session-cookies

我有一个React应用和一个API。当我将POST数据发送到API登录URL时,API将在成功登录后用cookie响应我,因此必须设置cookie,因此在下一个请求中,用户将发送该cookie。但是我找不到从响应中获取信息的方法。 enter image description here

我想设置sessionid,但是我无法在代码中找到它。我试图做

Cookies.set('sessionid', response.headers['sessionid']);

但是它设置了undefinedconsole.log(response.headers)也给了我{content-length: "31", content-type: "application/json"}。我做错什么了吗?

发件人功能:

formSender() {
    const url_to_send = `${this.state.api_base_url}:${this.state.api_base_port}${this.state.api_user_url}/login/`;
    axios.post(url_to_send, `username=${this.state.username}&password=${this.state.password}`, {headers: {'Content-Type': 'application/x-www-form-urlencoded'}})
        .then((response) => {
        // I need to set the cookie here
            this.setState({
                login_success: response.status === 200,
                request_sent: false
            });
        })
};

1 个答案:

答案 0 :(得分:0)

尝试在后端设置Access-Control-Expose-Headers或

await axios({
                method: 'post',
                url: YOUR_URL,
                data: Data,  
                headers: { 'Authorization': 'TOKEN' }
            });