简体   繁体   English

lombucci/jwt 无法解析您的密钥,原因:error:0909006C:PEMroutines:get_name:no start line

[英]lombucci/jwt It was not possible to parse your key, reason: error:0909006C:PEM routines:get_name:no start line

lombucci/jwt 4.1.5 PHP 8.0.10隆布奇/jwt 4.1.5 PHP 8.0.10

Getting the following issue when attempting to create a token尝试创建令牌时出现以下问题

It was not possible to parse your key, reason: error:0909006C:PEM routines:get_name:no start line

Here is a class that can be used to recreate this issue这是可用于重新创建此问题的 class

(token has been modified for the demo if that matters) (如果重要,令牌已针对演示进行了修改)

<?php

namespace Domain\MetaBase;

use Lcobucci\JWT\Configuration;
use Lcobucci\JWT\Signer\Key\InMemory;
use Lcobucci\JWT\Signer\Rsa\Sha256;

class Metabase
{
    public function generateToken(): string
    {
        $metabaseSiteUrl = "https://potato.metabaseapp.com";
        $metabaseSecretKey = "1690e6bf587bc61b5cdd3897c143291caa48779cc7abef104abf952fec6e8d4a";
        $now = new \DateTimeImmutable();
        $config = Configuration::forSymmetricSigner(new Sha256(), InMemory::plainText($metabaseSecretKey));
        $token = $config->builder()
            ->issuedBy($metabaseSiteUrl)
            ->withHeader('iss', $metabaseSiteUrl)
            ->permittedFor($metabaseSiteUrl)
            ->issuedAt($now)
            ->canOnlyBeUsedAfter($now->modify('+1 minute'))
            ->expiresAt($now->modify('+1 hour'))
            ->withClaim('resource', ['question' => 15])

            //METABASE resource (question, card, dashboard)
            ->withClaim('params', ['cod_usuario' => 1001])

            //METABASE params variables metabase
            ->getToken($config->signer(), $config->signingKey());

        return $metabaseSiteUrl . "/embed/question/" . $token->toString() . "#bordered=true&titled=true";
    }
}

The issue I was having was that I was using我遇到的问题是我正在使用

Lcobucci\JWT\Signer\Rsa\Sha256;

when I should have been using当我应该使用

use Lcobucci\JWT\Signer\Hmac\Sha256;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 将 PEM 格式的公钥传递给 openssl_pkey_get_public 会给出错误:0906D06C:PEM 例程:PEM_read_bio:no start line - Passing public key in PEM format to openssl_pkey_get_public gives error:0906D06C:PEM routines:PEM_read_bio:no start line Firebase PHP JWT“OpenSSL无法验证数据:错误:0906D06C:PEM例程:PEM_read_bio:无启动行” - Firebase PHP JWT “OpenSSL unable to verify data: error:0906D06C:PEM routines:PEM_read_bio:no start line” openssl_verify和“错误:0906D06C:PEM例程:PEM_read_bio:无起始行” - openssl_verify and “error:0906D06C:PEM routines:PEM_read_bio:no start line” Laravel Passport 得到 'It was not possible to parse your key, reason: ""' 升级到 PHP8.0 后出错 - Laravel Passport gets 'It was not possible to parse your key, reason: ""' error after upgrade to PHP8.0 WooCommerce get_name() function 即使产品存在也会抛出错误 - WooCommerce get_name() function throws an error even though the product exists 由于某种原因解析最后一行的错误? - Parse error on last line for some reason? openssl_pkey_get_public没有打开公钥,“没有起始行”错误 - openssl_pkey_get_public not open public key, “no start line” error cURL 错误 (35):错误:14077458:SSL 例程:SSL23_GET_SERVER_HELLO:tlsv1 无法识别的名称 - cURL Error (35): error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 unrecognized name 是什么原因导致“错误:1408D172:SSL例程:SSL3_GET_KEY_EXCHANGE:错误的签名类型” SSL错误? - What causes 'error:1408D172:SSL routines:SSL3_GET_KEY_EXCHANGE:wrong signature type' SSL error? 解析错误:语法错误,第 2 行代码中出现意外的“$encrypt_password”(T_VARIABLE) - Parse error: syntax error, unexpected '$encrypt_password' (T_VARIABLE) in your code on line 2
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM