【问题标题】:Jhipster 6.0.0-beta.0 - 405 Method Not Allowed on /oauth/token endpointJhipster 6.0.0-beta.0 - /oauth/token 端点上不允许使用 405 方法
【发布时间】:2019-09-03 19:55:42
【问题描述】:

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

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

命令: curl -X POST -v http://localhost:8181/oauth/token -i -H "Accept: application/json" -H "Authorization: Basic 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 ","message":"error.http.405"}%

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

curl -X POST -v http://localhost:9999/oauth/token -i -H "Accept: application/json" -H "Authorization: Basic aW50ZXJuYWw6aW50ZXJuYWw=" -d "grant_type=client_credentials&scope=web-app"

【问题讨论】:

    标签: jhipster


    【解决方案1】:

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

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

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

    /services/uaa/ 的请求被路由到uaa 服务。

    UAA 网关还有一个身份验证端点,Angular/React 客户端使用它来生成 cookie:

    curl 'http://localhost:8080/auth/login' -H 'Content-Type: application/json' --data-binary '{"username":"admin","password":"admin","rememberMe":true}' --compressed
    

    【讨论】:

      猜你喜欢
      • 2016-05-20
      • 2019-09-12
      • 2018-06-15
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 2015-03-16
      • 1970-01-01
      相关资源
      最近更新 更多