OpenID OAuth jwt basic-authentication api-key security authentication authroization SSO

API Authentication Methods

أثناء تعاملنا مع ال APIs بنحتاج نعمل User Authentication واللي هي عبارة عن عملية التحقق من هوية المستخدم اللي باعت ال Request, ودا جانب هام جدُا في حماية الـ API وكذلك خصوصية وأمان المستخدمين.

تم التحديث في 2024-07-02
تعديل على GitHub
API Authentication Methods

أثناء تعاملنا مع ال APIs بنحتاج نعمل User Authentication واللي هي عبارة عن عملية التحقق من هوية المستخدم اللي باعت ال Request, ودا جانب هام جدُا في حماية الـ API وكذلك خصوصية وأمان المستخدمين.

 فورقة وقلم و تعالوا نتعرف على أشهر 5 طرق من ال User Authentication Methods. 🚀


Basic Authentication 

دا أبسط نوع وفيه بنبعت اسم المستخدم وكلمة المرور في ال Request في صيغة Base64 , طبعًا النوع دا منخفض الأمان ومش بنستخدمه في الـ Production  Environment إلا علي HTTPS Connection, لأن ال Base64 Encoding بيتحل بأي Decoder على الإنترنت فلو ال Eequest اتعرض ل Eavesdrop Attack يقدر المهاجم بسهولة يعرف بيانات المستخدم.


API Key Authentication

ال API Keys عبارة عن مفاتيح أو “رموز تعريف” بيصدرها ال API لل Clients ودور ال Client أنه يبعتها مع كل Request لل API كوسيلة تحقق من هوية المستخدم. ال Client ممكن يبعتها ك Query String أو يحطها في ال Request Header أو حتي ك Cookie.

وزي ال Basic Authentication لازم نستخدمه علي HTTPS Connection لأن لو أي حد عرف ال API Key هيقدر ينتحل شخصية ال Client ويستعمل ال API باسمه.


JWT-Based Authentication

ال JWT من أفضل و أشهر الطرق المستخدمة في الـ Authentication ونقدر نقول إنها شبه فكرة الـ API Key ولكن المفتاح - في الحالة دي ال Token - بيكون Encrypted بطريقة أحسن من الـ API Key.

ومن أكبر مميزاتها إنك مش مضطر تخزن ال Token لكل Client علي ال Server زي ما بنعمل مع الـ API Keys وده بيخليها طريقة Scalable.


OAuth 2.0

الطريقة دي مستخدمة عشان نعمل User Authentication للمستخدم بدون ما نعرف اسمه أو كلمة مروره بشكل حقيقي ودا مناسب في حالة الـ Third-Party Authentication واللي تعتبر شكل شائع من أشكال الـ Authentication هذه الأيام.


OpenID Connect 

ال OpenID هو Authentication Protocol مبني فوق ال OAuth. وهو بيبقي عبارة عن خدمة بيقدمها Identity Provider وكل لما المستخدم يحتاج يدخل موقع بيرجع لموفر الخدمة يأخذ البيانات الأساسية زي الاسم والبريد والصورة الشخصية ويتأكد من هوية المستخدم.


مواضيع ذات صلة
Web Development & APIs

اشترك في النشرة البريدية

احصل على أحدث المحتوى والأخبار مباشرة في بريدك الإلكتروني

🔒 نحترم خصوصيتك. لن نشارك بريدك الإلكتروني مع أي طرف ثالث.