2017-01-24 91 views
1

我如何从android生成JWT令牌。我试过如下:我如何从android生成JWT令牌

token = JWT.create().withClaim("email",username) 
         .sign(Algorithm.HMAC256("secret")); 
       System.out.println(" JWS token : "+ token); 

但我得到这个异常:

java.lang.NoSuchMethodError: No static method encodeBase64URLSafeString([B)Ljava/lang/String; in class Lorg/apache/commons/codec/binary/Base64; or its super classes (declaration of 'org.apache.commons.codec.binary.Base64' appears in /system/framework/ext.jar) 
                  at com.auth0.jwt.JWTCreator.sign(JWTCreator.java:283) 
                  at com.auth0.jwt.JWTCreator.access$100(JWTCreator.java:23) 
                  at com.auth0.jwt.JWTCreator$Builder.sign(JWTCreator.java:264) 
                  at se.stigasoft.netwrapper.NetCom.jwtWork(NetCom.java:321) 

我试过其他methos从其他图书馆了。

String compactJws = Jwts.builder() 
      .setSubject("Joe") 
      .signWith(SignatureAlgorithm.HS256, "secret".getBytes()) 
      .compact(); 

这个人生成令牌。但我不知道如何发送我的数据,如名称,值对,我曾用后发送方法发送。

。请帮助

回答

0

在互联网上的最后一天挖多之后,我找到了解决这个

String compactJws = Jwts.builder().claim("email",username).claim("password",password) 
       .signWith(SignatureAlgorithm.HS256, "secret".getBytes()) 
       .compact() 

这是生成从应用程序方面的令牌的正确方法。这样数据不会以简单的标题发送。