【发布时间】:2016-11-14 12:24:13
【问题描述】:
我已按照建议 here 使用 php-jwt 库为 Firebase 上的自定义身份验证生成了 firebase 自定义令牌。
我试图使用同一库的 decode 函数解码生成的令牌。
这是我的代码。
我已使用以下行在我的配置文件中定义了私钥。
define("FIREBASE_PRIVATE_KEY","-----BEGIN PRIVATE KEY-----\nMY_VERY_VERY_LONG_KEY\n-----END PRIVATE KEY-----\n");
这是解码令牌的代码。
JWT::decode($token, FIREBASE_PRIVATE_KEY, array('RS256'));
此代码引发以下异常。
openssl_verify(): supplied key param cannot be coerced into a public key
当我使用 HS256 进行解码和编码时,一切正常。 但我必须使用 RS256,因为 Firebase 自定义令牌只需要使用 RS256 进行签名。
任何人都可以提出解决方案吗?
【问题讨论】:
-
这可能与您将 私钥 提供给需要 公钥 的函数的事实有关。您如何将公钥提取到单独的变量/常量中并传递它,而不是私钥?
-
@Mjh:你的意思是我必须从可用的私钥创建一个公钥。然后将该公钥发送到解码功能?我该怎么做?
标签: php firebase jwt firebase-authentication