2016-04-11 151 views
1

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

+0

哪个框架您使用的?有许多可以处理JWT的服务器,客户端就像服务器端一样。例如,您可以浏览[auth0的github帐户](https://github.com/auth0?utf8=%E2%9C%93&query=jwt)。 – rdupz

回答

2

你的问题很模糊,关于你想用什么JWT For和With所以请有一个阅读如何正确地问问题here

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

Node.js API with JWT authentication

这将允许您快速建立自己的服务器和API来测试。 然而,那里有很多信息,你应该能够找到它。

0

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

你需要开发你的客户端UI。

1

我不知道你是否可以在网上找到一些练习。但我有一些使用智威汤逊的例子。

基本上,你可以有一个具有两个方法I级:生成托克的一种方法,并验证作为参数传递的令牌另一种方法:

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; 
    } 
}