Jhipster 6.0.0-beta.0 - 405 / oauth / token端点上不允许使用方法

问题描述 投票:0回答:1

我正在使用uaa的网关。我在网关中所做的唯一改变是“.csrf()。disable()”

当我尝试使用以下命令获取令牌时。我收到405错误。

命令:curl -X POST -v http://localhost:8181/oauth/token -i -H“Accept:application / json”-H“授权:基本aW50ZXJuYWw6aW50ZXJuYWw =” - d“grant_type = client_credentials&scope = web-app”

错误:{“type”:“https://www.jhipster.tech/problem/problem-with-message”,“title”:“Method Not Allowed”,“status”:405,“detail”:“请求方法'POST'不受支持”,“path”:“/ oauth / token ”, “消息”: “error.http.405”}%

当我打开uaa的端口并运行命令时,它能够获取令牌。

curl -X POST -v http://localhost:9999/oauth/token -i -H“Accept:application / json”-H“授权:基本aW50ZXJuYWw6aW50ZXJuYWw =” - d“grant_type = client_credentials&scope = web-app”

jhipster
1个回答
1
投票

首先,我不建议禁用CSRF protection,除非你绝对确定你需要。

您的第一个CURL请求将发送到网关。端点存在于UAA上,而不是网关,这解释了为什么第二个CURL请求可以正常工作。要通过网关请求它,您可以使用正确的URL代理请求到UAA服务:

http://localhost:8080/services/uaa/oauth/token

/services/uaa/的请求将被发送至uaa服务。

UAA网关还有一个auth端点,Angular / React客户端使用该端点生成cookie:

curl 'http://localhost:8080/auth/login' -H 'Content-Type: application/json' --data-binary '{"username":"admin","password":"admin","rememberMe":true}' --compressed
© www.soinside.com 2019 - 2024. All rights reserved.