spomky-labs/lexik-jose-bridge

允许使用 web-token/jwt-framework 与 Lexik JWT 认证包的桥梁

资助包维护!
Spomky
Patreon

安装次数: 336,377

依赖: 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 扩展包为 LexikJWTAuthenticationBundle 提供了一个 JWT 编码器,该编码器使用 web-token/jwt-framework 作为 JWT 创建器/加载器。

发布流程

发布流程 在此处描述

先决条件

此库需要至少

  • PHP 8.1+
  • Symfony 6.0+。

安装

Symfony Flex

安装此扩展包的最佳方式是依赖 Symfony Flex 和 composer。在安装扩展包之前,必须将特定的 Flex 服务器声明到您的 composer.json 文件中。

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 密钥包装: composer require web-token/jwt-encryption-algorithm-aeskw
      • RSA: composer require web-token/jwt-encryption-algorithm-rsa
      • AES GCM 密钥包装: 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许可证发布。