2017-01-24 2 views
1

Как генерировать токен JWT от android. Я попытался следующий:Как я могу сгенерировать токен JWT от android

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) 

Я попробовал другой Митос из другой библиотеки тоже.

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

этот генерирует токен. Но я не знаю, как отправлять мои данные, такие как имя, пара значений, которые я использовал для отправки в методе post.

. Пожалуйста, помогите

ответ

0

После долгого рыть в интернете за последний день, когда я нашел решение этой

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

это правильный способ создать маркер со стороны приложения. Так что данные не отправляются в виде простого заголовка.

Смежные вопросы