在一种语言或库中创建的jwt可以在另一种语言或库中解码和验证吗?

zol*_*ola 2 cryptography go node.js jwt

所以我有一个使用golangjwt-go库来发布jwt 的API服务器,我希望有一个socket.io服务器运行使用node.jsjsonwebtoken库,需要解码和验证令牌,所以我的问题是可以我从一个库发出一个令牌,解码并从另一个库验证它?

hel*_*ert 6

TL; DR:是的.

互操作性是使用JSON Web令牌的重点.RFC 7519明确定义(独立于实现语言)如何发布和验证JWT,并且所有已知实现(至少在项目网站上列出的那些)遵循此标准.

就个人而言,我使用了jwt-go(Go),jsonwebtoken(Node.JS)和php-jwt(PHP)以及jose4j(Java,Scala),并且从未遇到任何互操作性问题.