ايضا يستخدم تنسيق Markdown في التعليقات البرمجية
الموقع الرسمي لتعلم markdown
https://www.markdownguide.org/
الموقع الرسمي لتعلم markdown
https://www.markdownguide.org/
يمكن ايضا رسم المخططات العلائقية للجداول
الموقع الرسمي لتعلم رسم المخططات
https://mermaid.js.org/intro/
اداة الرسم بالواجهات
https://mermaid.live/edit
الموقع الرسمي لتعلم رسم المخططات
https://mermaid.js.org/intro/
اداة الرسم بالواجهات
https://mermaid.live/edit
رسم المخططات التسلسلية.
الموقع الرسمي لتعلم رسم المخططات
https://mermaid.js.org/intro/
اداة الرسم بالواجهات
https://mermaid.live/edit
الموقع الرسمي لتعلم رسم المخططات
https://mermaid.js.org/intro/
اداة الرسم بالواجهات
https://mermaid.live/edit
مع الاب القدوة ذو الفضل الاستاذ الدكتور
بشير محمد المقالح - عميد كلية الحاسبات #جامعة_ذمار - اليمن
والدكتور العزيز وليد دحيه
من مناقشة مشاريع التخرج لطلاب #جامعة_السعيدة.
بشير محمد المقالح - عميد كلية الحاسبات #جامعة_ذمار - اليمن
والدكتور العزيز وليد دحيه
من مناقشة مشاريع التخرج لطلاب #جامعة_السعيدة.
👍2
#نموذج_تطبيق_متجر_الكتروني_مصغر
غير مكتمل
الغرض منه تعليمي وافادة طلابي ( مخصص له ساعتين اسبوعيا )
https://github.com/GeniusSystems24/genius_store
كما تلاحظ يظهر المشروع مع التوصيف الخاص به.
وهذه الطريقة هي المطلوبة عند التقديم الى الشركات وتشوف ان عملك مرتب.
اذا تريد السعي لمستقبل حقيقي مميز التزم بالاشياء الصعبة على الاخرين.
يوجد وصف لمحتوى كل مجلد مثلا
https://github.com/GeniusSystems24/genius_store/tree/main/lib/presentation/screens
غير مكتمل
الغرض منه تعليمي وافادة طلابي ( مخصص له ساعتين اسبوعيا )
https://github.com/GeniusSystems24/genius_store
كما تلاحظ يظهر المشروع مع التوصيف الخاص به.
وهذه الطريقة هي المطلوبة عند التقديم الى الشركات وتشوف ان عملك مرتب.
اذا تريد السعي لمستقبل حقيقي مميز التزم بالاشياء الصعبة على الاخرين.
يوجد وصف لمحتوى كل مجلد مثلا
https://github.com/GeniusSystems24/genius_store/tree/main/lib/presentation/screens
GitHub
GitHub - GeniusSystems24/genius_store
Contribute to GeniusSystems24/genius_store development by creating an account on GitHub.
❤1
Forwarded from DataBase قواعد بيانات
https://www.facebook.com/share/167ZRWkJGX/?mibextid=xfxF2i
https://github.com/GeniusSystems24/study/blob/main/Three%20ways%20of%20using%20SQL%20Insert%20compere
هل تعرف أفضل طريقة لإدراج البيانات في SQL Server؟
اكتشف الفروق الكبيرة بين ثلاث طرق شائعة لإدراج البيانات! 🚀
- طريقة واحدة تمنحك أداءً مذهلاً! ⚡
- أخرى قد تعرضك لمخاطر فقدان البيانات! ❌
📊 تعرف على التحليل الكامل الآن واستفد من أفضل الممارسات لضمان الأداء والأمان!
#SQLServer #Database #Performance #DataSecurity #تطوير_البرمجيات #قواعد_البيانات #الأداء #البرمجة #تعلم #كلية_الحاسبات #علوم_الحاسوب #هندسة_برمجيات
https://github.com/GeniusSystems24/study/blob/main/Three%20ways%20of%20using%20SQL%20Insert%20compere
هل تعرف أفضل طريقة لإدراج البيانات في SQL Server؟
اكتشف الفروق الكبيرة بين ثلاث طرق شائعة لإدراج البيانات! 🚀
- طريقة واحدة تمنحك أداءً مذهلاً! ⚡
- أخرى قد تعرضك لمخاطر فقدان البيانات! ❌
📊 تعرف على التحليل الكامل الآن واستفد من أفضل الممارسات لضمان الأداء والأمان!
#SQLServer #Database #Performance #DataSecurity #تطوير_البرمجيات #قواعد_البيانات #الأداء #البرمجة #تعلم #كلية_الحاسبات #علوم_الحاسوب #هندسة_برمجيات
Forwarded from DataBase قواعد بيانات
https://github.com/GeniusSystems24/study/blob/main/Three%20ways%20of%20using%20SQL%20Insert%20compere
تفاصيل دراسة الحالة
تفاصيل دراسة الحالة
GitHub
study/Three ways of using SQL Insert compere at main · GeniusSystems24/study
مستودع مخصص لتوثيق ومشاركة المفاهيم والخبرات المتنوعة في مجال هندسة البرمجيات، بما يشمل أفضل الممارسات، الأنماط التصميمية (Design Patterns)، إدارة المشاريع البرمجية، مراحل تطوير الأنظمة، إضافة إلى ...
❤1
Forwarded from DataBase قواعد بيانات
https://github.com/GeniusSystems24/study/blob/main/Three%20ways%20of%20using%20SQL%20Insert%20compere/references.md
مراجع دراسة الحالة
مراجع دراسة الحالة
GitHub
study/Three ways of using SQL Insert compere/references.md at main · GeniusSystems24/study
مستودع مخصص لتوثيق ومشاركة المفاهيم والخبرات المتنوعة في مجال هندسة البرمجيات، بما يشمل أفضل الممارسات، الأنماط التصميمية (Design Patterns)، إدارة المشاريع البرمجية، مراحل تطوير الأنظمة، إضافة إلى ...
Forwarded from PRO.ANWAR ALSAIARY ( ADVANCE )
قناتي على الواتساب
PRO.ANWAR ALSAIARY ( ADVANCE ) channel on WhatsApp: https://whatsapp.com/channel/0029VbAobzhAInPuPXRCW12m
اللهم اجعلها صدقة جارية مقبولة
شاركوا مع من تعرفوا كتب الله لنا ولكم الأجر والثواب
PRO.ANWAR ALSAIARY ( ADVANCE ) channel on WhatsApp: https://whatsapp.com/channel/0029VbAobzhAInPuPXRCW12m
اللهم اجعلها صدقة جارية مقبولة
شاركوا مع من تعرفوا كتب الله لنا ولكم الأجر والثواب
WhatsApp.com
PRO.ANWAR ALSAIARY ( ADVANCE ) | WhatsApp Channel
PRO.ANWAR ALSAIARY ( ADVANCE ) WhatsApp Channel. - professional software engineering.
- full stack developer.
asp.net - flutter - sql server - firebase.
( مستوى متقدم ) محتوى متنوعة في هندسة البرمجيات. 158 followers
- full stack developer.
asp.net - flutter - sql server - firebase.
( مستوى متقدم ) محتوى متنوعة في هندسة البرمجيات. 158 followers
كود يوضح طريقة بناء متحكم في RESTful API يوفر العمليات السحابية المذكورة في الصورة
الكود متاح باللغات والتقنيات البرمجية :
- ASP.NET CORE WEB with C#
- Node.js with JavaScript
- Laravel with PHP
https://whatsapp.com/channel/0029VbAobzhAInPuPXRCW12m/171
الكود متاح باللغات والتقنيات البرمجية :
- ASP.NET CORE WEB with C#
- Node.js with JavaScript
- Laravel with PHP
https://whatsapp.com/channel/0029VbAobzhAInPuPXRCW12m/171
❤2
الصورة توضح طرق المصادقة في REST API تعرض أربعة أنواع شائعة من طرق المصادقة.
--------------------------------
كود يوضح طريقة :
- بناء RESTful API تستخدم طرق المصادقة المذكورة في الصورة
- مرفق وصف توضيحي لنقاط قوة ونقاط ضعف كل طريقة قبل الكود
الكود متاح باللغات والتقنيات البرمجية :
* ASP.NET CORE WEB with C#
* Node.js with JavaScript
* Laravel with PHP
# كود كل لغة في ملف مستقل
# يوجد تعليقات توضيحية لكي يفهم المبتدئين
https://claude.ai/share/afb3fb10-367d-4204-a86a-8eeeb24a45ba
قد تحتاج VPN اذا لم تستطع دخول منصة Cluade AI
--------------------------------
كود يوضح طريقة :
- بناء RESTful API تستخدم طرق المصادقة المذكورة في الصورة
- مرفق وصف توضيحي لنقاط قوة ونقاط ضعف كل طريقة قبل الكود
الكود متاح باللغات والتقنيات البرمجية :
* ASP.NET CORE WEB with C#
* Node.js with JavaScript
* Laravel with PHP
# كود كل لغة في ملف مستقل
# يوجد تعليقات توضيحية لكي يفهم المبتدئين
https://claude.ai/share/afb3fb10-367d-4204-a86a-8eeeb24a45ba
قد تحتاج VPN اذا لم تستطع دخول منصة Cluade AI
الصورة توضح طرق المصادقة في REST API تعرض أربعة أنواع شائعة من طرق المصادقة. دعونا نشرح كل نوع بالتفصيل مع أمثلة.
1. Basic Authentication (المصادقة الأساسية):
في هذه الطريقة، يتم إرسال اسم المستخدم وكلمة المرور مع كل طلب من العميل إلى الخادم. هذه الطريقة بسيطة ولكنها غير آمنة لأنها ترسل بيانات الاعتماد (اسم المستخدم وكلمة المرور) في النص العادي، مما يجعلها عرضة للتجسس إذا لم يتم استخدام طبقة تشفير مثل HTTPS.
خطوات العملية:
1. يطلب العميل (Client) الوصول إلى مورد معين.
2. يطلب الخادم (Server) اسم المستخدم وكلمة المرور.
3. يرسل العميل بيانات الاعتماد إلى الخادم.
4. يتم التحقق من صحة بيانات الاعتماد، وإذا كانت صحيحة، يقوم الخادم بإرجاع الموارد المطلوبة.
مثال:
إذا كنت تبني تطبيقًا داخليًا بسيطًا ولا تحتاج إلى حماية صارمة مثل تطبيق يستخدم على الشبكة المحلية فقط، يمكنك استخدام المصادقة الأساسية.
ملاحظة:
لا ينصح باستخدام هذه الطريقة في بيئات الإنتاج دون تشفير، مثل استخدام HTTPS.
---
2. OAuth Authentication (مصادقة OAuth):
OAuth هو بروتوكول مصمم لتفويض الوصول إلى المستخدمين، حيث يسمح لتطبيقات خارجية بالوصول إلى الموارد على حساب المستخدم دون مشاركة كلمة المرور الخاصة بالمستخدم مع التطبيق الخارجي.
خطوات العملية:
1. يقدم العميل طلب تفويض للوصول إلى مورد.
2. المستخدم يوافق على التفويض.
3. يتم إصدار رمز تفويض (Authorization Grant) للعميل.
4. العميل يحصل على رمز الوصول (Access Token) باستخدام رمز التفويض.
5. العميل يرسل رمز الوصول للخادم.
6. إذا كان الرمز صحيحًا، يعيد الخادم البيانات المطلوبة.
مثال:
عند تسجيل الدخول إلى تطبيق مثل Instagram باستخدام حسابك على Google أو Facebook، يتم استخدام OAuth لمشاركة بياناتك مع التطبيق بدون كشف كلمة مرور حسابك الأساسي.
---
3. API Key Authentication (المصادقة باستخدام مفاتيح API):
يتم إنشاء مفتاح API فريد وتخزينه في قاعدة البيانات. يقوم العميل باستخدام هذا المفتاح عند تقديم الطلبات للوصول إلى الموارد. المفتاح يعمل كطريقة للتحقق من هوية المستخدم.
خطوات العملية:
1. يقوم العميل بإنشاء مفتاح API.
2. يتم تخزين المفتاح من قبل العميل.
3. العميل يرسل الطلب إلى الخادم باستخدام مفتاح API.
4. الخادم يتحقق من صحة المفتاح ويعيد الموارد المطلوبة.
مثال:
هذه الطريقة مفيدة للتطبيقات الداخلية أو المشاريع الصغيرة. على سبيل المثال، إذا كنت تبني تطبيقًا للوصول إلى خدمة طقس عامة، يمكنك استخدام مفتاح API لتأمين الوصول إلى البيانات.
---
4. Token Authentication (المصادقة باستخدام الرموز):
في هذه الطريقة، يقوم العميل بتسجيل الدخول أولًا ويستلم رمزًا مميزًا (Token) يتم استخدامه في الطلبات اللاحقة. الرمز يكون عادة مشفرًا ويحتوي على تفاصيل حول المستخدم.
خطوات العملية:
1. يقوم المستخدم بتسجيل الدخول والحصول على رمز مميز.
2. يرسل العميل هذا الرمز في كل طلب للتحقق من هويته.
3. يتم التحقق من الرمز من قبل الخادم.
4. إذا كان الرمز صالحًا، يتم إرجاع البيانات المطلوبة.
مثال:
تستخدم هذه الطريقة غالبًا في تطبيقات الصفحة الواحدة (Single Page Applications) أو تطبيقات الجوال حيث يتم إصدار رمز JWT بعد تسجيل الدخول ويستخدم لتفويض الطلبات المستقبلية.
---
ملاحظات ختامية:
Basic Authentication جيد للتطبيقات الصغيرة ولكن يجب استخدامه مع HTTPS.
OAuth مثالي للتطبيقات التي تحتاج إلى الوصول إلى بيانات المستخدمين من خدمات خارجية مثل Google أو Facebook.
API Key مناسب للمشاريع الصغيرة أو لتأمين واجهات API.
Token Authentication هو الخيار المثالي لتطبيقات الويب أو تطبيقات الجوال التي تحتاج إلى مصادقة مستمرة وسهلة الاستخدام.
كل نوع له ميزاته وعيوبه ويجب اختيار الطريقة المناسبة حسب حاجة التطبيق والمستخدمين.
1. Basic Authentication (المصادقة الأساسية):
في هذه الطريقة، يتم إرسال اسم المستخدم وكلمة المرور مع كل طلب من العميل إلى الخادم. هذه الطريقة بسيطة ولكنها غير آمنة لأنها ترسل بيانات الاعتماد (اسم المستخدم وكلمة المرور) في النص العادي، مما يجعلها عرضة للتجسس إذا لم يتم استخدام طبقة تشفير مثل HTTPS.
خطوات العملية:
1. يطلب العميل (Client) الوصول إلى مورد معين.
2. يطلب الخادم (Server) اسم المستخدم وكلمة المرور.
3. يرسل العميل بيانات الاعتماد إلى الخادم.
4. يتم التحقق من صحة بيانات الاعتماد، وإذا كانت صحيحة، يقوم الخادم بإرجاع الموارد المطلوبة.
مثال:
إذا كنت تبني تطبيقًا داخليًا بسيطًا ولا تحتاج إلى حماية صارمة مثل تطبيق يستخدم على الشبكة المحلية فقط، يمكنك استخدام المصادقة الأساسية.
ملاحظة:
لا ينصح باستخدام هذه الطريقة في بيئات الإنتاج دون تشفير، مثل استخدام HTTPS.
---
2. OAuth Authentication (مصادقة OAuth):
OAuth هو بروتوكول مصمم لتفويض الوصول إلى المستخدمين، حيث يسمح لتطبيقات خارجية بالوصول إلى الموارد على حساب المستخدم دون مشاركة كلمة المرور الخاصة بالمستخدم مع التطبيق الخارجي.
خطوات العملية:
1. يقدم العميل طلب تفويض للوصول إلى مورد.
2. المستخدم يوافق على التفويض.
3. يتم إصدار رمز تفويض (Authorization Grant) للعميل.
4. العميل يحصل على رمز الوصول (Access Token) باستخدام رمز التفويض.
5. العميل يرسل رمز الوصول للخادم.
6. إذا كان الرمز صحيحًا، يعيد الخادم البيانات المطلوبة.
مثال:
عند تسجيل الدخول إلى تطبيق مثل Instagram باستخدام حسابك على Google أو Facebook، يتم استخدام OAuth لمشاركة بياناتك مع التطبيق بدون كشف كلمة مرور حسابك الأساسي.
---
3. API Key Authentication (المصادقة باستخدام مفاتيح API):
يتم إنشاء مفتاح API فريد وتخزينه في قاعدة البيانات. يقوم العميل باستخدام هذا المفتاح عند تقديم الطلبات للوصول إلى الموارد. المفتاح يعمل كطريقة للتحقق من هوية المستخدم.
خطوات العملية:
1. يقوم العميل بإنشاء مفتاح API.
2. يتم تخزين المفتاح من قبل العميل.
3. العميل يرسل الطلب إلى الخادم باستخدام مفتاح API.
4. الخادم يتحقق من صحة المفتاح ويعيد الموارد المطلوبة.
مثال:
هذه الطريقة مفيدة للتطبيقات الداخلية أو المشاريع الصغيرة. على سبيل المثال، إذا كنت تبني تطبيقًا للوصول إلى خدمة طقس عامة، يمكنك استخدام مفتاح API لتأمين الوصول إلى البيانات.
---
4. Token Authentication (المصادقة باستخدام الرموز):
في هذه الطريقة، يقوم العميل بتسجيل الدخول أولًا ويستلم رمزًا مميزًا (Token) يتم استخدامه في الطلبات اللاحقة. الرمز يكون عادة مشفرًا ويحتوي على تفاصيل حول المستخدم.
خطوات العملية:
1. يقوم المستخدم بتسجيل الدخول والحصول على رمز مميز.
2. يرسل العميل هذا الرمز في كل طلب للتحقق من هويته.
3. يتم التحقق من الرمز من قبل الخادم.
4. إذا كان الرمز صالحًا، يتم إرجاع البيانات المطلوبة.
مثال:
تستخدم هذه الطريقة غالبًا في تطبيقات الصفحة الواحدة (Single Page Applications) أو تطبيقات الجوال حيث يتم إصدار رمز JWT بعد تسجيل الدخول ويستخدم لتفويض الطلبات المستقبلية.
---
ملاحظات ختامية:
Basic Authentication جيد للتطبيقات الصغيرة ولكن يجب استخدامه مع HTTPS.
OAuth مثالي للتطبيقات التي تحتاج إلى الوصول إلى بيانات المستخدمين من خدمات خارجية مثل Google أو Facebook.
API Key مناسب للمشاريع الصغيرة أو لتأمين واجهات API.
Token Authentication هو الخيار المثالي لتطبيقات الويب أو تطبيقات الجوال التي تحتاج إلى مصادقة مستمرة وسهلة الاستخدام.
كل نوع له ميزاته وعيوبه ويجب اختيار الطريقة المناسبة حسب حاجة التطبيق والمستخدمين.
الصورة تشرح الفرق بين طريقتين شائعتين في التحقق من الهوية والوصول إلى واجهات برمجة التطبيقات (APIs):
Tokens (مثل JWT) مقابل API Keys
✅ أولاً: مسار التوكن (Token Flow)
يُستخدم غالباً في تطبيقات تسجّل دخول المستخدمين النهائيين.
📌 الخطوات بالتفصيل:
المستخدم يسجّل الدخول عبر تطبيق الويب (مثلاً موقع إلكتروني للتجارة).
التطبيق يُرسل بيانات الدخول (مثل البريد وكلمة المرور) إلى خدمة الهوية (Identity Service).
إذا كانت البيانات صحيحة، تُصدر رمز JWT وترسله للتطبيق.
عند إرسال أي طلب API (مثل "جلب المنتجات")، يتم إرفاق JWT في Header (تحديدًا في حقل Authorization).
الطلب يصل إلى API Gateway، الذي يقوم بإرساله إلى وحدة التحقق من التوكن.
Token Validation يتحقق من:
توقيع التوكن
انتهاء صلاحيته
الصلاحيات أو البيانات داخل التوكن (Claims)
إذا كان التوكن صالح، يُعاد توجيه الطلب إلى الخدمة الداخلية (مثل: خدمة المستخدم أو الطلبات).
تُنفذ الخدمة الطلب، وتتواصل مع قاعدة البيانات لإرجاع النتيجة.
✅ مثال واقعي لمسار التوكن:
موقع تعليمي مثل "Udemy":
عند تسجيل دخولك بحسابك، يُصدر لك JWT.
كل مرة تطلب كورس أو تعديل بياناتك، يتم التحقق من هذا التوكن.
إذا انتهى التوكن أو تم تغييره، يتم رفض الطلب.
🔑 ثانياً: مسار مفتاح API (API Key Flow)
يُستخدم عادةً مع مطوّري الطرف الثالث أو التطبيقات التي تستهلك API مباشرة بدون مستخدم نهائي يسجّل الدخول.
📌 الخطوات بالتفصيل:
مطوّر خارجي يسجّل على بوابة المطوّرين (Developer Portal).
يحصل على API Key فريدة.
يتم تخزين الـ API Key في مخزن مفاتيح آمن (Key Store).
كلما أرسل المطوّر طلبًا إلى API، يضع المفتاح في Header.
الطلب يصل إلى API Gateway، الذي يمرره لخدمة التحقق من المفاتيح.
يتم التحقق من المفتاح باستخدام Key Store.
إذا كان المفتاح صالحًا، يتم تمرير الطلب إلى Public API Service.
تُنفذ الخدمة الطلب وتتواصل مع قاعدة البيانات.
✅ مثال واقعي لمسار API Key:
تطبيق طقس خارجي يستخدم واجهة برمجة التطبيقات من “Weather API”:
يحصل على مفتاح API عند التسجيل.
يستخدمه في كل طلب للحصول على حالة الطقس.
إذا تم إلغاء المفتاح أو تجاوزه الحد، يتم رفض الطلب.
⚖️ مقارنة سريعة:
النقطةJWT TokenAPI Keyيستخدم فيتطبيقات فيها تسجيل دخولتطبيقات عامة أو مطورين خارجيينطريقة التحققالتوقيع، الصلاحيات، الصلاحيةمطابقة المفتاح المخزنأمان أعلى؟✅ نعم، خاصة عند استخدام HTTPS❌ أقل أماناً، لكنه أبسطسهولة الإلغاء؟متوسط (تحتاج Blacklist أو تغيير السر)سهل (إلغاء المفتاح فقط)الاستخدام الأنسبالمستخدمين النهائيينالأنظمة أو الشركاء الخارجيين
✳️ ماذا يمكن إضافته لزيادة الحماية؟
Rate Limiting: الحد من عدد الطلبات للمفتاح أو التوكن.
Scope Restrictions: تحديد الصلاحيات الدقيقة للتوكن أو المفتاح.
IP Whitelisting: حصر استخدام المفتاح من IP محددة.
Expiration & Rotation: توكن مؤقت، ومفاتيح يتم تغييرها دوريًا.
Tokens (مثل JWT) مقابل API Keys
✅ أولاً: مسار التوكن (Token Flow)
يُستخدم غالباً في تطبيقات تسجّل دخول المستخدمين النهائيين.
📌 الخطوات بالتفصيل:
المستخدم يسجّل الدخول عبر تطبيق الويب (مثلاً موقع إلكتروني للتجارة).
التطبيق يُرسل بيانات الدخول (مثل البريد وكلمة المرور) إلى خدمة الهوية (Identity Service).
إذا كانت البيانات صحيحة، تُصدر رمز JWT وترسله للتطبيق.
عند إرسال أي طلب API (مثل "جلب المنتجات")، يتم إرفاق JWT في Header (تحديدًا في حقل Authorization).
الطلب يصل إلى API Gateway، الذي يقوم بإرساله إلى وحدة التحقق من التوكن.
Token Validation يتحقق من:
توقيع التوكن
انتهاء صلاحيته
الصلاحيات أو البيانات داخل التوكن (Claims)
إذا كان التوكن صالح، يُعاد توجيه الطلب إلى الخدمة الداخلية (مثل: خدمة المستخدم أو الطلبات).
تُنفذ الخدمة الطلب، وتتواصل مع قاعدة البيانات لإرجاع النتيجة.
✅ مثال واقعي لمسار التوكن:
موقع تعليمي مثل "Udemy":
عند تسجيل دخولك بحسابك، يُصدر لك JWT.
كل مرة تطلب كورس أو تعديل بياناتك، يتم التحقق من هذا التوكن.
إذا انتهى التوكن أو تم تغييره، يتم رفض الطلب.
🔑 ثانياً: مسار مفتاح API (API Key Flow)
يُستخدم عادةً مع مطوّري الطرف الثالث أو التطبيقات التي تستهلك API مباشرة بدون مستخدم نهائي يسجّل الدخول.
📌 الخطوات بالتفصيل:
مطوّر خارجي يسجّل على بوابة المطوّرين (Developer Portal).
يحصل على API Key فريدة.
يتم تخزين الـ API Key في مخزن مفاتيح آمن (Key Store).
كلما أرسل المطوّر طلبًا إلى API، يضع المفتاح في Header.
الطلب يصل إلى API Gateway، الذي يمرره لخدمة التحقق من المفاتيح.
يتم التحقق من المفتاح باستخدام Key Store.
إذا كان المفتاح صالحًا، يتم تمرير الطلب إلى Public API Service.
تُنفذ الخدمة الطلب وتتواصل مع قاعدة البيانات.
✅ مثال واقعي لمسار API Key:
تطبيق طقس خارجي يستخدم واجهة برمجة التطبيقات من “Weather API”:
يحصل على مفتاح API عند التسجيل.
يستخدمه في كل طلب للحصول على حالة الطقس.
إذا تم إلغاء المفتاح أو تجاوزه الحد، يتم رفض الطلب.
⚖️ مقارنة سريعة:
النقطةJWT TokenAPI Keyيستخدم فيتطبيقات فيها تسجيل دخولتطبيقات عامة أو مطورين خارجيينطريقة التحققالتوقيع، الصلاحيات، الصلاحيةمطابقة المفتاح المخزنأمان أعلى؟✅ نعم، خاصة عند استخدام HTTPS❌ أقل أماناً، لكنه أبسطسهولة الإلغاء؟متوسط (تحتاج Blacklist أو تغيير السر)سهل (إلغاء المفتاح فقط)الاستخدام الأنسبالمستخدمين النهائيينالأنظمة أو الشركاء الخارجيين
✳️ ماذا يمكن إضافته لزيادة الحماية؟
Rate Limiting: الحد من عدد الطلبات للمفتاح أو التوكن.
Scope Restrictions: تحديد الصلاحيات الدقيقة للتوكن أو المفتاح.
IP Whitelisting: حصر استخدام المفتاح من IP محددة.
Expiration & Rotation: توكن مؤقت، ومفاتيح يتم تغييرها دوريًا.