PHP Classes

File: sample/RtcTokenBuilder2Sample.php

Recommend this page to a friend!
  Classes of Ujah Chigozie peter   PHP Agora Tokens   sample/RtcTokenBuilder2Sample.php   Download  
File: sample/RtcTokenBuilder2Sample.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Agora Tokens
Generate Agora user authentication tokens
Author: By
Last change:
Date: 7 days ago
Size: 2,437 bytes
 

Contents

Class file image Download
<?php
use \Peterujah\Agora\Agora;
use \
Peterujah\Agora\User;
use \
Peterujah\Agora\Roles;
use \
Peterujah\Agora\Builders\RtcToken;


$channelName = "7d72365eb983485397e3e3f9d460bdda";
$uid = 2882341273;
$uidStr = "2882341273";
$tokenExpirationInSeconds = 3600;
$privilegeExpirationInSeconds = 3600;
$joinChannelPrivilegeExpireInSeconds = 3600;
$pubAudioPrivilegeExpireInSeconds = 3600;
$pubVideoPrivilegeExpireInSeconds = 3600;
$pubDataStreamPrivilegeExpireInSeconds = 3600;

$client = new Agora(
   
getenv("AGORA_APP_ID"), // Need to set environment variable AGORA_APP_ID
   
getenv("AGORA_APP_CERTIFICATE"), // Need to set environment variable AGORA_APP_CERTIFICATE
);
$client->setExpiration($tokenExpirationInSeconds);

$user1 = (new User($uid))
    ->
setPrivilegeExpire($privilegeExpirationInSeconds)
    ->
setChannel($channelName)
    ->
setRole(Roles::RTC_PUBLISHER);

$token = RtcToken::buildTokenWithUid($client, $user1);
echo
'Token with int uid: ' . $token . PHP_EOL;

$user2 = (new User($uidStr))
    ->
setPrivilegeExpire($privilegeExpirationInSeconds)
    ->
setChannel($channelName)
    ->
setRole(Roles::RTC_PUBLISHER);

$token = RtcToken::buildTokenWithUserAccount($client, $user2);
echo
'Token with user account: ' . $token . PHP_EOL;

$user3 = (new User($uid))
    ->
setChannelPrivilegeExpire($joinChannelPrivilegeExpireInSeconds)
    ->
setAudioPrivilegeExpire($pubAudioPrivilegeExpireInSeconds)
    ->
setVideoPrivilegeExpire($pubVideoPrivilegeExpireInSeconds)
    ->
setStreamPrivilegeExpire($pubDataStreamPrivilegeExpireInSeconds)
    ->
setChannel($channelName);

$token = RtcToken::buildTokenWithUidAndPrivilege($client, $user3);
echo
'Token with int uid and privilege: ' . $token . PHP_EOL;

$user4 = (new User($uidStr))
    ->
setChannelPrivilegeExpire($joinChannelPrivilegeExpireInSeconds)
    ->
setAudioPrivilegeExpire($pubAudioPrivilegeExpireInSeconds)
    ->
setVideoPrivilegeExpire($pubVideoPrivilegeExpireInSeconds)
    ->
setStreamPrivilegeExpire($pubDataStreamPrivilegeExpireInSeconds)
    ->
setChannel($channelName);

$token = RtcToken::buildTokenWithUserAccountAndPrivilege($client, $user4);
echo
'Token with user account and privilege: ' . $token . PHP_EOL;

$user5 = (new User($uidStr))
    ->
setPrivilegeExpire($privilegeExpirationInSeconds)
    ->
setChannel($channelName)
    ->
setRole(Roles::RTC_PUBLISHER);

$token = RtcToken::buildTokenWithRtm($client, $user5);
echo
'Token with RTM: ' . $token . PHP_EOL;