smileythane / laravel-jitsi
A package to generate view of a Jitsi Meet room using Jitsi Meet IFrame API
Requires
- php: ^7.1
- firebase/php-jwt: ^5.2
- illuminate/support: ~6.0|~7.0|~8.0
Requires (Dev)
- orchestra/canvas: ^4.6
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.0
README
A package to generate view of a Jitsi Meet room using Jitsi Meet IFrame API.
Jitsi Meet Prerequisites
Your Jitsi Meet host must use the token authentication. Currently this package also require your Jitsi Host to allow anonymous user to join by configuring the anonymousdomain (might change later).
If you are self-hosting your Jitsi Meet instance, here are some article that might help:
- JWT token authentication Prosody plugin
- Rocket Chat part 3: Installing Jitsi with JWT for secure video conferencing
- Here’s how you should install jitsi-meet-tokens on debian 10 (luajwtjitsi problem)
- Compile your own lua_cjson
- Prosody token + anonymous authentication config
Installation
You can install the package via composer:
composer require smileythane/laravel-jitsi
Add these variables to your .env file
# Domain of the jitsi meet instance JITSI_APP_DOMAIN= # App id JITSI_APP_ID= # Secret key used to generate jwt JITSI_APP_SECRET=
Add the trait \SmileyThane\LaravelJitsi\Traits\HasJitsiAttributes
to your User model.
use SmileyThane\LaravelJitsi\Traits\HasJitsiAttributes; use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { <...> use HasJitsiAttributes; <...> }
Simple Usage
In your web.php
route file, call the jitsi
route macro.
Route::jitsi();
Then visit /jitsi/<room name>
to join a conference call. Visiting this url when you are authenticated will set your display name, email, avatar and also grant you the moderator role.
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.
Laravel Package Boilerplate
This package was generated using the Laravel Package Boilerplate.