Compare commits
No commits in common. "e9b4e2d34cfcb7b78071ea18efb89f670ad14a81" and "62acb4d736310c0e8f6adcf3ab2be020d04fbe41" have entirely different histories.
e9b4e2d34c
...
62acb4d736
1 changed files with 11 additions and 7 deletions
|
@ -38,7 +38,9 @@ add_toc = true
|
|||
مضغوط وهو يتكون من 33 بايت (264 بت) يتم ترميزه بترميز [base58] على سبيل المثال
|
||||
العنوان التالي `becZJsZZqGR7qBG8t1Pm4uy62jDTzJsabxnkARhr2syo`.
|
||||
|
||||
يتم وضع العنوان العام في رأس (Header) الطلب (Request) بأسم `X-OTMP-PUBLIC` ويجب ان يكون نص [base58] صحيح مكون من 33 بايت (264 بت).
|
||||
يتم وضع العنوان العام في رأس (Header) الطلب (Request) بأسم `X-OTMP-PUBLIC` او في
|
||||
بيانات ال [Websocket] في المفتاح `public_key` ويجب ان يكون نص [base58] صحيح مكون
|
||||
من 33 بايت (264 بت).
|
||||
|
||||
## أسم الخادم
|
||||
أسم الخادم هو نطاق إلكتروني طبيعي، على سبيل المثال `example.com` ويتم جلب عنوان
|
||||
|
@ -107,7 +109,7 @@ base58 فقط:\
|
|||
### إنشاء التوقيع
|
||||
التوقيع يحتاج إلى ثلاث اشياء ليتم إنشائه
|
||||
- مفتاح التشفير المشترك.
|
||||
- جسم الطلب (body) أو بيانات الحدث (data) أو طريقة الطلب+المسار، مثال (GET/ws/chat)
|
||||
- جسم الطلب (body) او بيانات الحدث (data).
|
||||
- ثواني الوقت الحالي للمنطقة الزمنية UTC بتنسيق [Unix Time] (8 بايت أي 64 بت
|
||||
**big-endian**).
|
||||
- 16 بايت عشوائي (128 بت).
|
||||
|
@ -138,25 +140,27 @@ bad035084e11bfd266c7b7dfa473d6603be551b3aa215f869776b75bf42ef31900000000665e1a69
|
|||
الطلب مرة أخرى من المهاجمين (ضمان أن التوقيع صالح لمرة واحدة فقط).
|
||||
|
||||
### شكل البيانات داخل إتصال الـWebsocket
|
||||
بعد الإتصال بـ[Websocket] مع الخادم، يكون تنسيق البيانات التي يتم تبادلها
|
||||
بعد الإتصال بـ[Websocket] مع الخادم، سوف يكون تنسيق البيانات التي يتم تبادلها
|
||||
بين المرسل والخادم json ويجب عليها توفر المفاتيح التالية
|
||||
|
||||
- `event`: إسم الحدث، على سبيل المثال إرسال رسالة او تحديث حالة الكتابة (التنسيق PascalCase).
|
||||
- `event`: إسم الحدث، على سبيل المثال إرسال رسالة او تحديث حالة الكتابة.
|
||||
- `data`: البيانات الخاصة بالحدث.
|
||||
- `public_key`: وهو العنوان العام الخاص بالمرسل.
|
||||
- `signature`: توقيع بيانات الحدث (data)، هذا التوقيع يكون بين المرسل وبين
|
||||
الخادم وليس المُستقبل.
|
||||
|
||||
#### مثال لشكل البيانات في ال websocket
|
||||
|
||||
ليكون الشكل النهائي كالتالي (مثال)
|
||||
|
||||
|
||||
<div dir="ltr">
|
||||
|
||||
```json
|
||||
{
|
||||
"event": "EventName",
|
||||
"event": "EVENT_NAME",
|
||||
"data": {
|
||||
"key": "value"
|
||||
},
|
||||
"public_key": "becZJsZZqGR7qBG8t1Pm4uy62jDTzJsabxnkARhr2syo",
|
||||
"signature": "bad035084e11bfd266c7b7dfa473d6603be551b3aa215f869776b75bf42ef31900000000665e1a696e6d776f65726e6664757265686a66"
|
||||
}
|
||||
```
|
||||
|
|
Loading…
Reference in a new issue