nexmo/jwt

用于为 Nexmo/Vonage API 创建 JWT 的独立包

0.1.0 2020-07-21 04:48 UTC

This package is auto-updated.

Last update: 2024-08-29 05:19:06 UTC


README

Contributor Covenant Build Status Latest Stable Version MIT licensed codecov

Nexmo is now known as Vonage

此库需要至少 PHP 版本 7.1

这是用于生成 JWT 的 PHP 库,以用于 Nexmo 的 API。要使用此库,您需要一个 Nexmo 账户。在 nexmo.com 上免费 注册

安装

要使用客户端库,您需要 创建一个 Nexmo 账户

要将 PHP 客户端库安装到您的项目中,我们建议使用 Composer

composer require nexmo/jwt

您不需要克隆此存储库即可在您的项目中使用此库。使用 Composer 从 Packagist 安装它。

如果您对 Composer 不熟悉,以下是一些可能对您有用的资源

用法

如果您正在使用 Composer,请确保自动加载器包含在您的项目引导文件中

require_once "vendor/autoload.php";

使用您想要访问的 Nexmo 应用程序的 Application ID 和私有密钥创建令牌生成器

$generator = new Nexmo\JWT\TokenGenerator('d70425f2-1599-4e4c-81c4-cffc66e49a12', file_get_contents('/path/to/private.key'));

然后,您可以通过在令牌生成器上调用 generate() 方法来检索生成的 JWT 令牌

$token = $generator->generate();

这将返回一个字符串令牌,可以用于需要 JWT 的 Nexmo API 的 Bearer 认证

示例

生成具有特定生存期的令牌

默认情况下,Nexmo JWT 令牌在生成后具有 15 分钟的生存期,或 TTL。在令牌生命周期应不同的情况下,您可以通过在令牌生成器上调用 setTTL() 方法并传递令牌应有效的秒数来覆盖此设置

$generator->setTTL(30 * 60); // Set expiration to 30 minutes after token creation

设置 ACL

Nexmo JWT 默认对应用程序的所有路径具有完全访问权限,但这可能不适合需要受限访问的情况。您可以通过使用 setPaths()addPath() 方法来设置 JWT 令牌有效的路径信息,或在更流畅的接口中添加单个路径。

// Set paths in bulk
$generator->setPaths([
    '/*/users/**',
    '/*/conversations/**'
]);

// Set paths individually
$generator->addPath('/*/users/**');
$generator->addPath('/*/conversations/**');

有关分配 ACL 信息的更多信息,请参阅 如何在 Nexmo 开发平台上生成 JWT

贡献

此库正在积极开发中,我们很高兴听取您的意见!请随时 创建一个问题打开一个拉取请求,并提出您的问题、评论、建议和反馈。