36 lines
945 B
Python

import os
from flask import Flask, request, jsonify
from flask_cors import CORS
from dotenv import load_dotenv
from livekit import api
load_dotenv()
SERVER_PORT = os.environ.get("SERVER_PORT", 6080)
LIVEKIT_API_KEY = os.environ.get("LIVEKIT_API_KEY", "devkey")
LIVEKIT_API_SECRET = os.environ.get("LIVEKIT_API_SECRET", "secret")
app = Flask(__name__)
CORS(app)
@app.post("/token")
def createToken():
room_name = request.json.get("roomName")
participant_name = request.json.get("participantName")
if not room_name or not participant_name:
return jsonify("roomName and participantName are required"), 400
token = (
api.AccessToken(LIVEKIT_API_KEY, LIVEKIT_API_SECRET)
.with_identity(participant_name)
.with_grants(api.VideoGrants(room_join=True, room=room_name))
)
return jsonify(token.to_jwt())
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0", port=SERVER_PORT)