【发布时间】:2015-11-18 01:12:02
【问题描述】:
新问题使这个问题保持具体和重点。
我有一个来自 Azure 的 JWT,现在我需要在我的应用程序中验证签名。
可以在此处找到来自 Microsoft 的公钥:
https://login.windows.net/common/discovery/keys
如何使用这些密钥来验证签名?我可以告诉这些是我需要的公钥,因为 JWT 中的 X5T 标头与此公钥列表中的标头匹配。
我正在使用 JWT PHP 库,但我作为公钥输入的所有内容似乎都失败了。
supplied key param cannot be coerced into a public key
所以使用上面的链接,从那里进入 PHP openssl_verify 函数作为参数三(下例中的$key)?
$success = openssl_verify($msg, $signature, $key, 'SHA256')
我输入的所有内容都会以某种方式导致错误。
谢谢,
【问题讨论】:
-
在此链接页面的最底部bshaffer.github.io/oauth2-server-php-docs/overview/… 描述了如何使用 PHP 验证 JWT。
标签: php openssl rsa public-key-encryption