boogiefromzk/agora-token

旨在使Agora Tools for PHP仓库目录可由Composer安装为包。

v1.0.2 2024-09-11 09:13 UTC

This package is auto-updated.

Last update: 2024-09-11 09:17:26 UTC


README

PHP版的Agora令牌生成库

Agora支持拒绝了我的功能请求,因此必须将Agora Tools for PHP仓库目录作为一个包提供,以便使用Composer安装。

https://github.com/AgoraIO/Tools/tree/master/DynamicKey/AgoraDynamicKey/php/src

许可证

ISC许可证尚未确认,但继承自agora-chat npm包

https://npmjs.net.cn/package/agora-chat

用法

安装包。

composer require boogiefromzk/agora-token

Agora Chat令牌

创建用于使用REST API注册用户的app令牌。

use BoogieFromZk\AgoraToken\ChatTokenBuilder2;

$appID = ... // App ID from Agora client area.
$appCertificate = ... // App Certificate from Agora client area.
$expiresInSeconds = ... // For how many seconds this token is kept valid.

$appToken = ChatTokenBuilder2::buildAppToken($appID, $appCertificate, $expiresInSeconds);

然后用于Agora Chat REST API的认证并注册一个用户。

https://docs.agora.io/en/agora-chat/restful-api/user-system-registration

在注册用户时,将某些字段用作用户名,将其保存在用户中。

现在可以为该用户创建令牌

use BoogieFromZk\AgoraToken\ChatTokenBuilder2;

$appID = ... // App ID from Agora client area.
$appCertificate = ... // App Certificate from Agora client area.
$expiresInSeconds = ... // For how many seconds this token is kept valid.
$agoraUsername = ... // Username used for user registration above.

$token = ChatTokenBuilder2::buildUserToken($appID, $appCertificate, $agoraUsername, $expiresInSeconds);

为了设置和检索Agora Chat中用户的存在,请确保在Agora Chat控制台中启用了该功能。要启用它,请从Agora Chat控制台菜单中选择功能 -> 概览 -> 在“消息功能配置”下查找“其他”,并确保存在设置为启用。

Agora RTC令牌

use BoogieFromZk\AgoraToken\RtcTokenBuilder2;

$appID = ... // App ID from Agora client area.
$appCertificate = ... // App Certificate from Agora client area.
$expiresInSeconds = ... // For how many seconds this token is kept valid.
$channelName = ... // Channel name which should be accessible.
$uid = ... // Identifier of user.
$role = RtcTokenBuilder2::ROLE_PUBLISHER;

$token = RtcTokenBuilder2::buildTokenWithUid($appID, $appCertificate, $channelName, $uid, $role, $expiresInSeconds);

更多示例

更多示例可以在Agora Tools项目的samples文件夹中找到

https://github.com/AgoraIO/Tools/tree/master/DynamicKey/AgoraDynamicKey/php/sample

更新文件脚本

此脚本为内部使用,用于更新/src文件夹中的文件。

rm -rf ./src
git clone git@github.com:AgoraIO/Tools.git /tmp/agora_tools
cp -r /tmp/agora_tools/DynamicKey/AgoraDynamicKey/php/src .
rm -rf /tmp/agora_tools
cd ./src
sed -i 's/<?php/<?php\n\nnamespace BoogieFromZk\\AgoraToken;/' *

有用链接