【发布时间】:2023-04-09 16:44:01
【问题描述】:
如何从 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)
我也尝试了其他库中的其他方法。
String compactJws = Jwts.builder()
.setSubject("Joe")
.signWith(SignatureAlgorithm.HS256, "secret".getBytes())
.compact();
这个生成令牌。但我不知道如何发送我以前在 post 方法中发送的名称、值对等数据。
。请帮忙
【问题讨论】:
-
问这样的问题时,请说明您使用的是哪个库,因为这不是核心 Android 平台的一部分。