[mirotalksfu] - add token endpoint

هذا الالتزام موجود في:
Miroslav Pejic
2024-02-23 13:43:01 +01:00
الأصل 5bdf4ed4f5
التزام dea4577e53
11 ملفات معدلة مع 211 إضافات و41 حذوفات

عرض الملف

@@ -73,6 +73,31 @@ paths:
$ref: '#/definitions/JoinResponse'
'403':
description: 'Unauthorized!'
/token:
post:
tags:
- 'token'
summary: 'Get token'
description: 'Get token'
parameters:
- in: body
name: token
description: Custom Token.
schema:
$ref: '#/definitions/TokenRequest'
consumes:
- 'application/json'
produces:
- 'application/json'
security:
- secretApiKey: []
responses:
'200':
description: 'Get token done'
schema:
$ref: '#/definitions/TokenResponse'
'403':
description: 'Unauthorized!'
securityDefinitions:
secretApiKey:
@@ -143,6 +168,11 @@ definitions:
properties:
join:
type: string
TokenResponse:
type: 'object'
properties:
token:
type: string
Peer:
type: object
properties:

36
app/api/token/token.js Normal file
عرض الملف

@@ -0,0 +1,36 @@
'use strict';
async function getMeeting() {
try {
// Use dynamic import with await
const { default: fetch } = await import('node-fetch');
const API_KEY_SECRET = 'mirotalksfu_default_secret';
const MIROTALK_URL = 'https://sfu.mirotalk.com/api/v1/token';
//const MIROTALK_URL = 'http://localhost:3010/api/v1/token';
const response = await fetch(MIROTALK_URL, {
method: 'POST',
headers: {
authorization: API_KEY_SECRET,
'Content-Type': 'application/json',
},
body: JSON.stringify({
username: 'username',
password: 'password',
presenter: true,
expire: '1h',
}),
});
const data = await response.json();
if (data.error) {
console.log('Error:', data.error);
} else {
console.log('token:', data.token);
}
} catch (error) {
console.error('Error fetching data:', error);
}
}
getMeeting();

37
app/api/token/token.php Normal file
عرض الملف

@@ -0,0 +1,37 @@
<?php
$API_KEY_SECRET = "mirotalksfu_default_secret";
$MIROTALK_URL = "https://sfu.mirotalk.com/api/v1/token";
#$MIROTALK_URL = "http://localhost:3010/api/v1/token";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $MIROTALK_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$headers = [
'authorization:' . $API_KEY_SECRET,
'Content-Type: application/json'
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data = array(
"username" => "username",
"password" => "password",
"presenter" => true,
"expire" => "1h",
);
$data_string = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
$response = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo "Status code: $httpcode \n";
$data = json_decode($response);
echo "token: ", $data->{'token'}, "\n";

29
app/api/token/token.py Normal file
عرض الملف

@@ -0,0 +1,29 @@
# pip3 install requests
import requests
import json
API_KEY_SECRET = "mirotalksfu_default_secret"
MIROTALK_URL = "https://sfu.mirotalk.com/api/v1/token"
#MIROTALK_URL = "http://localhost:3010/api/v1/token"
headers = {
"authorization": API_KEY_SECRET,
"Content-Type": "application/json",
}
data = {
"username": "username",
"password": "password",
"presenter": "true",
"expire": "1h"
}
response = requests.post(
MIROTALK_URL,
headers=headers,
json=data
)
print("Status code:", response.status_code)
data = json.loads(response.text)
print("token:", data["token"])

11
app/api/token/token.sh Executable file
عرض الملف

@@ -0,0 +1,11 @@
#!/bin/bash
API_KEY_SECRET="mirotalksfu_default_secret"
MIROTALK_URL="https://sfu.mirotalk.com/api/v1/token"
#MIROTALK_URL="http://localhost:3010/api/v1/token"
curl $MIROTALK_URL \
--header "authorization: $API_KEY_SECRET" \
--header "Content-Type: application/json" \
--data '{"username":"username","password":"password","presenter":"true", "expire":"1h"}' \
--request POST