背景
项目中需要用到JWT令牌,算法采用的是HmacSHA256,在测试环境中正常使用(Oracle的JDK),但是在生产环境使用的是OpenJDK,两个环境的JDK版本不一致,并且因为OpenJDK的内部依赖的问题,导致在生成令牌的过程中出现异常(不用纠结为什么JDK版本不一致,不重要)
报错如下:
The Token's Signature couldn't be generated when signing using the Algorithm: HmacSHA256
xxxxx
Java Algorithm HmacSHA256 not available
原因:
根本问题的是jdk的问题,要么重装其他版本的jdk,要么就是采用下面的方法进行解决
将 $JAVA_HOME/jre/lib/ext/sunjce_provider.jar 拷到项目中
做法如下: