boogiefromzk / agora-token
旨在使Agora Tools for PHP仓库目录可由Composer安装为包。
Requires
- php: >=7.1
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;/' *
有用链接
-
广播RTC演示 https://github.com/digitallysavvy/agora-web-broadcast-demo
-
RTC事件描述 https://gist.github.com/digitallysavvy/4ef54c791fe88c668cfe3420d7f6558f
-
RTC测试摄像头和麦克风 https://docs.agora.io/en/3.x/voice-calling/basic-features/lastmile-quality?platform=web
-
Agora RTM令牌 https://docs.agora.io/en/signaling/develop/authentication-workflow
-
RTM示例 https://github.com/AgoraIO/RTM/blob/master/Agora-RTM-Tutorial-Web/src/rtm-client.js
-
Agora Chat REST API https://docs.agora.io/en/agora-chat/restful-api/user-system-registration
-
Agora Chat存在 https://docs.agora.io/en/agora-chat/restful-api/presence#path-parameter https://docs.agora.io/en/agora-chat/restful-api/presence#status-codes
-
Agora Chat事件订阅示例 https://github.com/AgoraIO-Usecase/AgoraChat-web/blob/main/src/utils/WebIMListen.js
-
Agora Chat 发送消息示例 https://docs.agora.io/en/agora-chat/client-api/messages/send-receive-messages#send-a-customized-message
-
Agora Chat 设置昵称 https://docs.agora.io/en/agora-chat/restful-api/offline-push#set-the-display-style-in-push-notifications