Token Auth - Django Rest框架邮递员

时间:2017-03-26 16:05:29

标签: python django facebook curl

我对Django很新,很抱歉,如果这是一个愚蠢的问题:

当我尝试通过邮递员发送请求时,我收到此403错误:

{ "detail": "CSRF Failed: CSRF token missing or incorrect." }

我也尝试将其添加到邮递员的params部分,导致同样的错误。

但是,使用curl命令时,我收到正确的响应:

curl -X POST -d "grant_type=convert_token&client_id=r29GLakM6OZ7c4Zg2cwuSXR7M1jiQHIEEMLvtbWA&client_secret=S2xKO81zzYBUTdxM14QiQWb63jnNvPLIcqDTrN9HIYj7t7ldfuCQFWoziWF6h88OgsMUCUNI6HbhIxZQ8ScPFWUWVcJNjaZspbGkDK1j9SsRYJi9uW6DhTr0A9QKvyOZ&backend=facebook&token=EAAY5l4TWgr4BAMjficP4mPKqlbVwVRXI0Xs5GLXSN97sMyKe3muElrkpXRcxJkiZCMzC7tfZBfT4Cci52Pk6Bb2GQm2BARm23tsJoaViOovmvZABlGlJPPZCJ9OecYvfEinUOBaDeBugiDv614yUzOAIfyE0lfZCAX8YAbYyxnlqYYtmS6ywH" http://localhost:8000/api/social/convert-token

我做错了什么?

编辑:我正在使用django-rest-framework-social-oauth2并在线教程,该教程不需要传递X-CSRFToken标题字段中的任何其他标记。

enter image description here

1 个答案:

答案 0 :(得分:0)

我的问题是邮递员的cookie问题。我删除了chrome中的cookie并禁用了postman上的拦截器。它将存储和使用先前的会话CSRF令牌,而不是生成新的令牌。