2017-01-24 124 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() 

這是生成從應用程序方面的令牌的正確方法。這樣數據不會以簡單的標題發送。