相关疑难解决方法(0)

使用JAX-RS和Jersey进行基于REST令牌的身份验证的最佳实践

我正在寻找一种在Jersey中启用基于令牌的身份验证的方法.我试图不使用任何特定的框架.那可能吗?

我的计划是:用户注册我的Web服务,我的Web服务生成令牌,将其发送到客户端,客户端将保留它.然后,对于每个请求,客户端将发送令牌而不是用户名和密码.

我在考虑为每个请求使用自定义过滤器,@PreAuthorize("hasRole('ROLE')") 但我只是认为这会导致很多请求数据库检查令牌是否有效.

或者不创建过滤器并在每个请求中放置一个参数令牌?这样每个API首先检查令牌,然后执行一些东西来检索资源.

java authentication rest jax-rs jersey-2.0

437
推荐指数
2
解决办法
32万
查看次数

JWT中的"秘密"应该是什么?

我将把JWT应用到我使用Java-Jersey开发的REST API中.我正在为JWT使用这个库 - https://github.com/auth0/java-jwt

关于JWT - Secret,我几乎没有问题

  1. Secret必须是独一无二的吗?
  2. 我应该使用用户密码的哈希版本来保密吗?(然后它不是唯一的)这是因为当用户更改他的密码时,他的令牌将自动无效.

java rest secret-key jwt

20
推荐指数
3
解决办法
2万
查看次数

如何正确处理JWT刷新?

我有一个Android应用程序.它与一个REST API开发的连接Jersey.我的REST端点由令牌保护.以下是我如何生成它们.

Algorithm algorithm = Algorithm.HMAC256(secret);
String token = JWT.create()
    .withClaim("userName","myusername)
    .withExpiresAt(expirationDate)
    .sign(algorithm);
Run Code Online (Sandbox Code Playgroud)

以下是我验证令牌的方法

public boolean validateTokenHMAC256(String token, String secret) throws UnsupportedEncodingException, JWTVerificationException
    {       
        Algorithm algorithm = Algorithm.HMAC256(secret);


        JWTVerifier verifier = JWT.require(algorithm) 
                .build(); //Reusable verifier instance
            DecodedJWT jwt = verifier.verify(token);

            Claim usernameClaim = jwt.getClaim("username");
            String username = usernameClaim.asString();
            System.out.println(username);


        return true;
    }
Run Code Online (Sandbox Code Playgroud)

在我的REST API中,我有一个过滤器,该过滤器检查每个请求以查看令牌是否原样.下面是代码.

@Secured
@Provider
@Priority(Priorities.AUTHENTICATION)
public class AuthenticationFilter implements ContainerRequestFilter{

    //private static String authorizationSecret = "ZXW24xGr9Dqf9sq5Dp8ZAn5nSnuZwux2QxdvcH3wQGqYteJ5yMTw5T8DBUJPbySR";

    public AuthenticationFilter()
    {
        System.out.println("test printing");
    }

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

java rest jersey jwt auth0

8
推荐指数
1
解决办法
8260
查看次数

标签 统计

java ×3

rest ×3

jwt ×2

auth0 ×1

authentication ×1

jax-rs ×1

jersey ×1

jersey-2.0 ×1

secret-key ×1