【问题标题】:post json data to jhipster server using curl or python使用 curl 或 python 将 json 数据发布到 jhipster 服务器
【发布时间】:2015-12-27 06:21:36
【问题描述】:

如何在 jhipster 服务器上进行发布请求以创建一些实体并一次性进行身份验证?

我在 python 中尝试了 requests 模块

requests.post('http://localhost:8080/api/<somelink>', data=json.dumps(somedataforsomelink), headers=headers, auth=(user, password))

但日志中的 jhipster 告诉我不允许匿名用户执行此请求,就像 spring 不考虑参数 auth 一样。

我的 <somelink> 在 jhipster spring boot 中受到 @PreAuthorize("hasRole('ROLE_USER') 或 hasRole('ROLE_ADMIN')") 的保护

一旦我评论了这一行,我当然可以毫无问题地发帖。

我尝试使用 curl 使用 -u 参数提供凭据,但同样的故事,凭据不知何故无法到达 jhipster,因为日志告诉我匿名用户不允许我在使用用户用户而不是匿名用户的地方。

我之前也尝试过 requests.post('http://localhost:8080/api/authentication'..) ,但我找不到使用登录响应来继续我的第二次请求调用以创建我的实体的方法。

谢谢!

【问题讨论】:

  • 您使用什么类型的身份验证(会话、OAuth 或令牌)?
  • 对于这个用例,我使用 session
  • 这是预期行为,您应该先进行身份验证,然后存储会话 cookie,以便在下次请求时发送。

标签: jhipster


【解决方案1】:

我刚刚编写了一个调用我的 JHipster 应用程序的 Mule REST 连接器,并且我使用了令牌身份验证 (X-Auth-Token),所以我的情况有点不同。但是,您可以使用 API 使用 Swagger 页面上的 CURL 命令执行操作。如果您在终端中本地运行 JHipster 应用程序,您将看到 HTTP 流量。你也可以使用 Wireshark 之类的东西来做同样的事情。您需要确切了解可操作的 HTTP 请求是什么样的。对于我的具体情况,我必须在每个后续请求中添加“X-Auth-Token: user:142135444yeryreyeyeyre11323”作为标头。

使用 Swagger 页面并检查有效的 HTTP 请求和响应。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 2018-12-12
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多