public function generate(Request $request, AccessToken $accessToken, IpMessagingGrant $ipmGrant)
 {
     $appName = "TwilioChat";
     $deviceId = $request->input("device");
     $identity = $request->input("identity");
     $TWILIO_IPM_SERVICE_SID = config('services.twilio')['ipmServiceSid'];
     $endpointId = $appName . ":" . $identity . ":" . $deviceId;
     $accessToken->setIdentity($identity);
     $ipmGrant->setServiceSid($TWILIO_IPM_SERVICE_SID);
     $ipmGrant->setEndpointId($endpointId);
     $accessToken->addGrant($ipmGrant);
     $response = array('identity' => $identity, 'token' => $accessToken->toJWT());
     return response()->json($response);
 }
<?php

// Get the PHP helper library from twilio.com/docs/php/install
require_once '/path/to/vendor/autoload.php';
// Loads the library
use Twilio\Jwt\AccessToken;
use Twilio\Jwt\Grants\IpMessagingGrant;
// Required for all Twilio access tokens
$twilioAccountSid = 'ACxxxxxxxxxxxx';
$twilioApiKey = 'SKxxxxxxxxxxxx';
$twilioApiSecret = 'xxxxxxxxxxxxxx';
// Required for IP messaging grant
$ipmServiceSid = 'ISxxxxxxxxxxxx';
// An identifier for your app - can be anything you'd like
$appName = 'TwilioChatDemo';
// choose a random username for the connecting user
$identity = "john_doe";
// A device ID should be passed as a query string parameter to this script
$deviceId = 'somedevice';
$endpointId = $appName . ':' . $identity . ':' . $deviceId;
// Create access token, which we will serialize and send to the client
$token = new AccessToken($twilioAccountSid, $twilioApiKey, $twilioApiSecret, 3600, $identity);
// Create IP Messaging grant
$ipmGrant = new IpMessagingGrant();
$ipmGrant->setServiceSid($ipmServiceSid);
$ipmGrant->setEndpointId($endpointId);
// Add grant to token
$token->addGrant($ipmGrant);
// render token to string
echo $token->toJWT();
Ejemplo n.º 3
0
<?php

include './vendor/autoload.php';
include './config.php';
include './randos.php';
use Twilio\Jwt\AccessToken;
use Twilio\Jwt\Grants\IpMessagingGrant;
// An identifier for your app - can be anything you'd like
$appName = 'TwilioChatDemo';
// choose a random username for the connecting user
$identity = randomUsername();
// A device ID is passed as a query string parameter to this script
$deviceId = $_GET['device'];
// The endpoint ID is a combination of the above
$endpointId = $appName . ':' . $identity . ':' . $deviceId;
// Create access token, which we will serialize and send to the client
$token = new AccessToken($TWILIO_ACCOUNT_SID, $TWILIO_API_KEY, $TWILIO_API_SECRET, 3600, $identity);
// Grant access to IP Messaging
$grant = new IpMessagingGrant();
$grant->setServiceSid($TWILIO_IPM_SERVICE_SID);
$grant->setEndpointId($endpointId);
$token->addGrant($grant);
// return serialized token and the user's randomly generated ID
echo json_encode(array('identity' => $identity, 'token' => $token->toJWT()));