taylanunutmaz / agora-token-builder
Token builder for agora.io
Installs: 25 399
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 1
Requires
- php: >=7.1
- ext-json: >=1.0
This package is auto-updated.
Last update: 2025-04-26 08:07:53 UTC
README
(Unofficial) Token builder for agora.io
Product | Versions that support tokens |
---|---|
RTC SDK | * The Native SDK: v2.1.0 or later * The Web SDK: v2.4.0 or later * Third-party framework SDKs: All versions |
On-premise Recording SDK | v2.1.0 or later |
Cloud Recording | No version requirement |
Interactive Gaming SDK | v2.2.0 or later |
Insall
composer require taylanunutmaz/agora-token-builder
Usage
RTC Token
Token with int uid
$token = RtcTokenBuilder::buildTokenWithUid($appID, $appCertificate, $channelName, $uid, $role, $privilegeExpiredTs);
Token with user account
$token = RtcTokenBuilder::buildTokenWithUserAccount($appID, $appCertificate, $channelName, $uidStr, $role, $privilegeExpiredTs);
RTM Token
$token = RtmTokenBuilder::buildToken($appID, $appCertificate, $user, $role, $privilegeExpiredTs);
API Reference
Parameter | Description |
---|---|
$appID | The App ID of your Agora project |
$appCertificate | The App Certificate of your Agora project. |
$channelName | The unique channel name for the Agora RTC session in the string format. The string length must be less than 64 bytes. Supported character scopes are: * All lowercase English letters: a to z. * All uppercase English letters: A to Z. * All numeric characters: 0 to 9. * The space character. * Punctuation characters and other symbols, including: "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", " {", "}", "|", "~", ",". |
$uid | The user ID. A 32-bit unsigned integer with a value range from 1 to (2^32 - 1). It must be unique. Set uid as 0, if you do not want to authenticate the user ID, that is, any uid from the app client can join the channel or log onto the service system. |
$uidStr | The username of user. This value must be string. |
$role | The privilege of the user: * Role_Publisher (1): (Default) The user has the privilege of publishing streams. * Role_Subscriber (2): The user does not have the privilege of publishing streams. |
$privilegeExpiredTs | The Unix timestamp (s) when the token expires, represented by the sum of the current timestamp and the valid time of the token. For example, if you set privilegeExpiredTs as the current timestamp plus 600 seconds, the token expires in 10 minutes. A token is valid for 24 hours at most. If you set this parameter as 0 or a period longer than 24 hours, the token is valid for 24 hours. |
LICENSE
MIT