spomky-labs/lexik-jose-bridge

允许使用 web-token/jwt-framework 与 Lexik JWT Authentication Bundle 之间的桥梁

资助包维护!
Spomky
Patreon

安装次数: 336,328

依赖关系: 0

建议者: 2

安全: 0

星标: 35

关注者: 8

分支: 15

开放问题: 5

类型:symfony-bundle


README

Build Status Build Status Build Status

Build Status

Latest Stable Version Total Downloads Latest Unstable Version License

此 Symfony Bundle 为 LexikJWTAuthenticationBundle 提供了一个 JWT 编码器,该编码器使用 web-token/jwt-framework 作为 JWT 创建器/加载器。

发布流程

发布流程的描述在 此处

先决条件

此库需要至少

  • PHP 8.1+
  • Symfony 6.0+。

安装

Symfony Flex

安装此包的首选方法是依赖 Symfony Flex 和 composer。在安装包之前,必须在您的 composer.json 文件中声明特定的 Flex 服务器。

composer config --json extra.symfony.endpoint '["https://api.github.com/repos/Spomky-Labs/recipes/contents/index.json?ref=main", "flex://defaults"]'

或者,如果您愿意,可以直接更新您的 composer.json 文件。

{
    "name": "acme/application",
    "description": "ACME Application",
    "extra": {
        "symfony": {
            "endpoint": [
                "https://api.github.com/repos/Spomky-Labs/recipes/contents/index.json?ref=main",
                "flex://defaults"
            ]
        }
    }
}

然后,您可以安装包。它将自动使用默认配置进行配置。

composer require spomky-labs/lexik-jose-bridge

手动安装

如果您不使用 Symfony Flex,则可以使用 Composer 手动安装包。然后,将此包和 web-token/jwt-framework 包添加到您的内核中

<?php

use Symfony\Component\Config\Loader\LoaderInterface;
use Symfony\Component\HttpKernel\Kernel;

class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            ...
            new Jose\Bundle\JoseFramework\JoseFrameworkBundle(),
            new SpomkyLabs\LexikJoseBundle\SpomkyLabsLexikJoseBundle(),
        ];

        return $bundles;
    }
}

签名/加密算法

此包仅安装基于 RSA 的签名算法(RS256RS384RS512)。如果您需要其他签名算法(例如基于 EC 的、HMAC)或希望使用加密功能,则必须安装相应的包

  • 签名算法
    • 所有:composer require web-token/signature-pack(不推荐)
    • HMAC:composer require web-token/jwt-signature-algorithm-hmac
    • ECDSA:composer require web-token/jwt-signature-algorithm-ecdsa
    • EdDSA:composer require web-token/jwt-signature-algorithm-eddsa
    • 无:composer require web-token/jwt-signature-algorithm-none(不推荐)
    • 实验性:composer require web-token/jwt-signature-algorithm-experimental(不推荐)
  • 加密算法
    • 所有:composer require web-token/encryption-pack(不推荐)
    • 密钥加密
      • ECDH-ES:composer require web-token/jwt-encryption-algorithm-ecdh-es
      • AES Key Wrapping:composer require web-token/jwt-encryption-algorithm-aeskw
      • RSA:composer require web-token/jwt-encryption-algorithm-rsa
      • AES GCM Key Wrapping:composer require web-token/jwt-encryption-algorithm-aesgcmkw
      • 直接:composer require web-token/jwt-encryption-algorithm-dir(不推荐)
      • PBES 2:composer require web-token/jwt-encryption-algorithm-pbes2(不推荐)
    • 内容加密
      • AES GCM:composer require web-token/jwt-encryption-algorithm-aesgcm
      • AES CBC:composer require web-token/jwt-encryption-algorithm-aescbc
    • 实验性:composer require web-token/jwt-encryption-algorithm-experimental(不推荐)

配置

此包需要配置。请参阅此页面了解如何进行配置。

如何使用

无需做任何事情。只需像往常一样使用您的应用程序即可。

支持

我为您的解决问题并回答您的问题提供解决方案。

如果您真正热爱该项目以及我所做的工作,或者如果您希望我将优先处理您的问题,那么您可以通过捐赠一些🍻或更多来帮助我!

成为赞助商

Become a Patreon

贡献

如果您在项目中发现了安全漏洞,请不要使用漏洞跟踪器,也不要公开发布。相反,所有安全问题都必须发送到security [at] spomky-labs.com。

许可证

本项目采用MIT 许可证发布。