vonage/jwt

为Vonage API创建JWT的独立包

0.5.1 2024-01-19 11:15 UTC

README

Contributor Covenant Build Status Latest Stable Version License codecov

Vonage logo

此库需要至少PHP版本8.0

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

安装

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

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

composer require vonage/jwt

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

如果您是Composer的新手,这里有一些可能对您有用的资源

使用方法

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

require_once "vendor/autoload.php";

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

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

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

$token = $generator->generate();

这将返回一个字符串令牌,可用于需要JWT的Bearer身份验证的Vonage API。

示例

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

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

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

设置ACLs

Vonage JWT默认对所有应用程序路径提供完全访问权限,但在客户端可能需要受限访问的情况下,这可能不是理想的选择。您可以通过使用setPaths()addPath()方法批量设置路径信息,或在更流畅的接口中添加单个路径来指定JWT令牌有效的路径。

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

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

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

贡献

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