【问题标题】:What is the javax.ws.rs MediaType we need to use for JWT response我们需要用于 JWT 响应的 javax.ws.rs MediaType 是什么
【发布时间】:2019-08-30 11:19:22
【问题描述】:

如果我们期望服务器返回 JWT 响应,我们可以在 @Produces 注解中使用的 MediaType 是什么?

对于我们可以使用的应用程序json,

 @Produces({MediaType.APPLICATION_JSON})

但是如果我们希望它是 application/jwt 呢?

如果我们像下面这样使用它,服务器将返回一个错误,提示
“No message body writer has found for response class ....”

 @Produces({"application/jwt"})

【问题讨论】:

  • 消息返回的类型是什么?
  • @LutzHorn 服务器正在发送 JWT。它实际上是一个经过签名并转换为 jwt 的 JSON 响应。
  • JWT 是一个类似eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c 的字符串。你的方法返回的响应是这样的字符串吗?
  • @LutzHorn 是的!正是这样。我希望这样好吗?因为这与身份验证或其他方面无关。这是一个简单的转换响应。

标签: jersey jwt jax-rs media-type http-accept-header


【解决方案1】:

我会尝试这样的:

@GET
@Produces("application/jwt")
public Response authenticate(...) {
    String jwt = ...;

    return Response.ok(jwt).build();
}

这应该可行。

【讨论】:

    猜你喜欢
    • 2018-03-03
    • 2016-04-11
    • 2015-04-25
    • 2020-12-03
    • 2015-07-11
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多