java jersey构建一个登录/密码消耗端点

时间:2017-06-17 21:54:09

标签: java jersey

我想用Jersey构建一个rest身份验证端点。我已经在页面上以常规形式完成了它:

 @POST @Produces(MediaType.APPLICATION_JSON) @Path("/login")
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public Response login(
            @FormParam("basicbtoatoken") String basicbtoatoken) {
.....
}

但是,现在我需要构建一个api,消费者登录+传递并发出令牌以进行进一步的通信。如何在球衣中做到这一点?我可以像其他字段一样在开放模式下传递login + pass并相应地处理它们吗?或者有什么诀窍吗?

1 个答案:

答案 0 :(得分:1)

死简单:基本身份验证ContainerRequestFilter。我相信你可以通过一些谷歌搜索找到一个参考实现。如果不是,则基本auth base 64将凭证编码到授权请求头中。您的后端凭据存储将在每次进行身份验证的请求时被点击。

现在通常通过oauth2协议解决这个问题;客户端通过各种方式获取有效的承载令牌。这是添加到授权标头的短期令牌;使用可信密钥(通常是JWT)对其进行加密并对其进行解密并检查基本完整性(如到期)被认为足以进行身份​​验证。凭证存储只会在您刷新此令牌时经常被击中(我已经看到从15分钟到几个小时的任何事情)