小编Wan*_*eng的帖子

jose4j JwtConsumer的验证密钥

我正在使用jose4j来验证和处理JWT.JWT如下所示,它在JWT主页中通过验证. 在此输入图像描述

但是,我不能用jose4j java库做同样的事情.异常抱怨我设置的验证密钥.但是库中定义了许多类型的键,我尝试过但没有运气.代码如下:

import java.util.Map;

import org.jose4j.jwt.JwtClaims;
import org.jose4j.jwt.consumer.InvalidJwtException;
import org.jose4j.jwt.consumer.JwtConsumer;
import org.jose4j.jwt.consumer.JwtConsumerBuilder;
import org.jose4j.keys.HmacKey;

public class YGJWT {

    public static void main(String args[]) throws InvalidJwtException {

        String jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ";
        String secret = "secret";

        JwtConsumer jwtConsumer = new JwtConsumerBuilder()
                .setVerificationKey(new HmacKey(secret.getBytes())) //what kind of key do i need to use it here?
                .build();


        JwtClaims jwtClaims = jwtConsumer.processToClaims(jwt);
        Map<String, Object> claimsMap = jwtClaims.getClaimsMap();

        claimsMap.forEach((String key, Object val) -> {
            System.out.println(key + ": " + val.toString());
        });

    }

}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

java jwt jose4j

7
推荐指数
1
解决办法
6034
查看次数

标签 统计

java ×1

jose4j ×1

jwt ×1