Json Web Token JWT

时间:2016-04-11 14:29:49

标签: jwt

我试图通过使用JSON Web令牌(JWT)来实现身份验证。我在google和GitHub中搜索了很多但是没有发现任何有用的东西。 JWT(json web token)或公共API上是否有预先构建的Web服务可用于测试目的?

3 个答案:

答案 0 :(得分:2)

关于您想要使用JWT For和With的具体内容,您的问题非常模糊,请阅读如何正确提问here

我会说,以下指南可能会帮助您将JWT实施到您自己的系统中。它是Node.JS的指南,它逐步解释了您正在做什么以及您的代码正在做什么。

Node.js API with JWT authentication

这将允许您快速设置自己的服务器和API进行测试。 然而,有很多信息,你应该能够找到它。

答案 1 :(得分:1)

我不知道你是否可以在互联网上找到一些练习。但我有一些使用JWT的例子。

基本上,你可以让I类有两个方法:一个生成Toke的方法,另一个验证作为参数传递的标记的方法:

public class JwtToken {
private static final Key secret = MacProvider.generateKey(SignatureAlgorithm.HS256);
    private static final byte[] secretBytes = secret.getEncoded();
    private static final String base64SecretBytes = Base64.getEncoder().encodeToString(secretBytes);

    public static String generateToken(Login login) {
        Date now = new Date();
        Date exp = new Date();

        String token = Jwts.builder()
            .setId(login.getCpf())
            .setIssuedAt(now)
            .setNotBefore(now)
            .setExpiration(exp)
            .signWith(SignatureAlgorithm.HS256, base64SecretBytes)
            .compact();

        return token;
    }

    public static boolean verifyToken(String token) {
        try {
            Claims claims = Jwts.parser().setSigningKey(base64SecretBytes).parseClaimsJws(token).getBody();
            return true;
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return false;
    }
}

答案 2 :(得分:0)

如果您需要使用JSON Web令牌进行身份验证,则可以使用此seed。 该种子具有已使用护照本地策略实现的注册和登录功能。

您只需开发客户端UI。