我正在使用django-oauth2-provider来生成访问令牌。问题是在使用基于 curl 和浏览器的 HTTP 请求器时伪造了不同的 POST 请求
这是使用 curl 时伪造的内容:
{u'username': [u'admin'], u'client_secret':[u'50c96e6351c623b271a61e197a22de9fcdbfa'], u'password': [u'admin'], u'grant_type': [u'password'], u'client_id': [u'7f1ad1344d6d0a0e7b44']}
这就是使用基于浏览器的HTTP请求程序时形成的内容
{u"{'grant_type': 'password','client_id': 7f1ad1344d6d0a0e7b44,'client_secret': 50c96e6351c623b271a61e197a22de9fcdbfa,'username': admin,'password': admin}": [u'']}
第一个工作正常,第二个显然不能。在第二种情况下可能出现什么问题?
问题是我在请求者中输入了 JSON:
{'grant_type': 'password','client_id': 7f1ad1344d6d0a0e7b44,'client_secret': 50c96e6351c623b271a61e197a22de9fcdbfa,'username': admin,'password': admin}
因为我应该将其作为
application/x-www-form-urlencoded
它必须作为发送
client_id=7f1ad1344d6d0a0e7b44&client_secret=50c96e6351c623b271a61e197a22de9fcdbfa&grant_type=password&username=admin&password=admin