我对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
标题字段中的任何其他标记。
答案 0 :(得分:0)
我的问题是邮递员的cookie问题。我删除了chrome中的cookie并禁用了postman上的拦截器。它将存储和使用先前的会话CSRF令牌,而不是生成新的令牌。