无法通过 Postman 在 Django oauth 工具包客户端凭据授予中获取访问令牌
Posted
技术标签:
【中文标题】无法通过 Postman 在 Django oauth 工具包客户端凭据授予中获取访问令牌【英文标题】:Fail to get access token in Django oauth toolkit client-credentials grant with Postman 【发布时间】:2019-01-03 16:54:38 【问题描述】:正如标题所说,我有一个问题。通过提供(用户名、密码、授予类型、client_id 和 client_secret)在密码授予中通过 Postman 获取访问令牌没有问题。访问令牌已成功接收。
但是,当谈到客户端凭据授权时,当我输入 (client_id, client_secret 和 grant_type) 作为参数时,我收到的是 500 内部服务器错误,如下图所示。
500 internal server error .
Preview info
client-id 和 client-secret 我很确定这是正确的值,因为我是从 localhost:8000/admin Application 获得的。
在做了一些研究之后,我意识到我可能会错过一个名为 Audience 的参数,也就是 API 标识符。
什么是受众
受众是授权时设置的参数,包含目标API的唯一标识。这就是您告诉 Auth0 为哪个 API 颁发访问令牌的方式(换句话说,这是该令牌的目标受众)。如果您不想访问自定义 API,则通过将受众设置为 YOUR_AUTH0_DOMAIN/userinfo,您可以使用不透明的访问令牌来检索用户的个人资料。
我不知道如何获得受众价值。那么,我的问题是如何获得 API 服务器的受众价值?
请指导我,非常感谢!
【问题讨论】:
可以添加预览截图吗?看到标记i.stack.imgur.com/kDaXa.png @JerinPeterGeorge 您好,感谢您的快速回复!我已经编辑了我的问题,请检查一下。 您使用的是哪个包?可以分享链接吗? @JerinPeterGeorge 这些是我的包,Django==1.10.8、django-oauth-toolkit==1.0.0 和 djangorestframework==3.8.2。 【参考方案1】:问题解决了。它与 oauth 工具包无关,这是我的中间件导致错误。谢谢。
【讨论】:
以上是关于无法通过 Postman 在 Django oauth 工具包客户端凭据授予中获取访问令牌的主要内容,如果未能解决你的问题,请参考以下文章
使用 Postman 时 django-cors-header 无法按预期工作
通过 urlpatterns 和视图替换 django-postman 中的默认表单
即使在创建帖子期间使用 Postman 将文件上传到该字段后,Django Rest Framework 仍显示字段错误