restapi获取token

1650598082(1)
按照文档获取token,总是报错未授权,求教大佬。已经按照文档设置了权限角色,分配用户,在Curl运行时会报这样的问题

你的应该是少了 -X POST 严格按照文档的试试:

curl -X POST \
  http://localhost:8080/cabinet/rest/v2/oauth/token \
  -H 'Authorization: Basic Y2xpZW50OnNlY3JldA==' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=password&username=admin&password=admin'

试过了还是同样的问题

image

image
我是按照这个文档来操作的,然后创建角色和分配用户都是在应用程序上完成的,设置后重新启动应用程序。这个会不会有影响呢

这个不会有影响。分配角色后就是需要重启服务的。

admin 的密码改过吗?bad credentials 也可能是用户名密码不正确。

没有改过

没有改动过

cuba.rest.client.id=client
cuba.rest.client.secret={noop}secret

这两个配置在用 Studio 添加 REST 组件后,会自动在 Web 模块的 web-app.properties 里面新加两行,这两行的内容与默认的 上面配置不同,所以会报错。

如果用 postman 等工具,可以填写 client id 和 client secret 自动生成 Basic 串。 如果是用的 curl 命令行工具,则直接修改 web-app.properties 里面这两个值为默认的 client{noop}secret 然后重启服务再测试就应该可以了。

感谢 :smiley: