
- بواسطة x32x01 ||
هقولك بسرعة وبسلاسة إمتى تستخدم Basic، Bearer، OAuth2، JWT و SSO - بالشكل اللي الناس تفهمه وتقدر تطبقه!
طيب انواعهم بقا


باستخدامه امته؟ في التجارب سريعة، APIs داخلية غير حساسة، أو بروتوتايب.
امته متستخدمهاش؟ في Production من غير HTTPS.
2ـ Bearer Tokens - الستاندرد دلوقتي
تبعت توكن في الهيدر: Authorization: Bearer <token>
السيرفر يشيك التوكن ويخد القرار. Stateless وسهل في الscalling، وديه طريقة الشائع استخدامها في APIs الحديثة.
امته تستخدمه؟ APIs عامة، خدمات مصغرة (microservices)، تطبيقات ويب وموبايل.
3ـ OAuth2 - لو عايز Login بـ Google/GitHub
مش بروتوكول تسجيل عادي، ده نظام بيسمح للمستخدم يدخل عن طريق third-party (مثلاً Google) من غير ما يبعت الباسورد لتطبيقك. ال third-party بيدي access token للتطبيق.
تستخدمه امته؟ لو عايز Login with Google/Facebook/GitHub أو لو منتجك بيتعامل مع صلاحيات على خدمات تانية.
مميزات: سريع، مناسب للـ microservices.
بس لو خزنت فيه بيانات مهمة من غير تشفير يبقى الناس ممكن تقراها - خليه موقع بس وماتحطش معلومات حساسة جوه ال payload. وكمان لو خسرت الkey بتاع الـ signing هتحتاج تعمل revoke لكل التوكنز.
Access + Refresh Tokens
ال Access token قصيره في التايم (مثلاً 15 دقيقة) بتستخدمه للـ API.
ال Refresh token طويله في التايم بيخليك تجيب Access جديد بدون ما المستخدم يعمل login تاني.
ده ممتاز للأمان والـ UX.
امته تستخدمه؟ لو عندك منظومة خدمات داخلية أو بوابة شركة وعايز تجربة سلسة للمستخدم.
كام حاجه تعرفهم بقا

ليه Authentication مهم أصلاً؟
قبل ما أي نظام يسيبك تدخل أو يعمل حاجة لازم يتأكد مين اللي هيستخدمه. الAuthentication هو البوابة دي - هو اللي بيقول للسيستيم ده صاحب الحساب ولا حد تاني. بعد كده ييجي موضوع Authorization (يعني صلاحياته)، وده موضوع تاني.طيب انواعهم بقا
1ـ Basic Auth
بعت اسم المستخدم والباسورد في هيدر Authorization مشفر بـ Base64. سهل، لكن لو مش محمي بـ HTTPS يبقى إنت بتحطله الباسورد على طبق من فضة

باستخدامه امته؟ في التجارب سريعة، APIs داخلية غير حساسة، أو بروتوتايب.
امته متستخدمهاش؟ في Production من غير HTTPS.
2ـ Bearer Tokens - الستاندرد دلوقتي
تبعت توكن في الهيدر: Authorization: Bearer <token>السيرفر يشيك التوكن ويخد القرار. Stateless وسهل في الscalling، وديه طريقة الشائع استخدامها في APIs الحديثة.
امته تستخدمه؟ APIs عامة، خدمات مصغرة (microservices)، تطبيقات ويب وموبايل.
3ـ OAuth2 - لو عايز Login بـ Google/GitHub
مش بروتوكول تسجيل عادي، ده نظام بيسمح للمستخدم يدخل عن طريق third-party (مثلاً Google) من غير ما يبعت الباسورد لتطبيقك. ال third-party بيدي access token للتطبيق.تستخدمه امته؟ لو عايز Login with Google/Facebook/GitHub أو لو منتجك بيتعامل مع صلاحيات على خدمات تانية.
4ـ JWT
ال JWT (JSON Web Token) عبارة عن توكن موقع بختم رقمي فيه بيانات المستخدم وصلاحيته. السيرفر يقدر يتأكد منه من غير ما يبص لقاعدة بيانات (يعني Stateless).مميزات: سريع، مناسب للـ microservices.
بس لو خزنت فيه بيانات مهمة من غير تشفير يبقى الناس ممكن تقراها - خليه موقع بس وماتحطش معلومات حساسة جوه ال payload. وكمان لو خسرت الkey بتاع الـ signing هتحتاج تعمل revoke لكل التوكنز.
Access + Refresh Tokens
ال Access token قصيره في التايم (مثلاً 15 دقيقة) بتستخدمه للـ API.
ال Refresh token طويله في التايم بيخليك تجيب Access جديد بدون ما المستخدم يعمل login تاني.
ده ممتاز للأمان والـ UX.
6ـ SSO (Single Sign-On)
المستخدم يسجل مرة واحدة ويدخل على كل التطبيقات اللي جزء من نفس الشركة. وده شائع في الشركات والمؤسسات الكبيرة. بيرتكز على بروتوكولات زي OAuth2 أو SAML.امته تستخدمه؟ لو عندك منظومة خدمات داخلية أو بوابة شركة وعايز تجربة سلسة للمستخدم.
كام حاجه تعرفهم بقا


- دايمًا استخدم HTTPS
- خليك محافظ على JWT signing keys
- خلي Access tokens قصيرة في التايم
- وفّر طريقة لـ token revocation لو حصل تسريب
- سجل المحاولات الفاشلة ومراقبة الـ logs