boogiefromzk/agora-token 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

boogiefromzk/agora-token

最新稳定版本:v1.0.2

Composer 安装命令:

composer require boogiefromzk/agora-token

包简介

Intended to make Agora Tools for PHP repository folder as a package installable with Composer.

README 文档

README

Agora token generation library for PHP

As Agora support declined my feature request to do that, had to make Agora Tools for PHP repository folder available as a package, installable with Composer.

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

License

ISC license is not confirmed, but inherited from agora-chat npm package:

https://www.npmjs.com/package/agora-chat

Usage

Install the package.

composer require boogiefromzk/agora-token

Agora Chat Token

Create the app token for using REST API to register users.

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);

Then use it for authentication in Agora Chat REST API and register a user.

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

You will use some field as username when registering a user, save it in a user.

Now you can create a token for this user:

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);

In order to set and retrieve user's presence in Agora Chat please ensure that the feature is enabled from your Agora Chat Console. In order to enable it, from your Agora Chat Console menu, click on Features -> Overview -> Under "Message Feature Configuration" look for "Others" and ensure that Presence is set to enabled.

Agora RTC Token

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);

More Examples

More examples you can find in samples folder of Agora Tools project:

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

Update files script

This script is for internal use, - it updates files in /src folder.

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;/' *

Useful links

统计信息

  • 总下载量: 50.44k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 8
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 8
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: ISC
  • 更新时间: 未知

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固