
Andrew Hanna

Tekunda Team

في سبتمبر 2025، تنفذ Salesforce تغييرات كبيرة في أمان Connected App ستؤثر في طريقة مصادقة تطبيقاتك. هناك تحولان مهمان:
سيتم حظر OAuth 2.0 Device Flow.
لن تكون Connected Apps غير المثبتة متاحة لمعظم المستخدمين.
تشرح هذه المقالة الهجرة من Device Login flow إلى Connected App OAuth2 Flow مع PKCE، ولماذا يهم هذا التغيير، وكيف تستعد بثقة.
يحتوي Device Flow (RFC8628) على ثغرة معروفة: يمكن بدؤه باستخدام client_id فقط. قد يستغل مهاجم ذلك في هجمات social engineering لإقناع المستخدمين بالموافقة على تطبيقات غير موثوقة.
الأثر الواقعي: نُفذت خروقات بارزة حديثة في شركات مثل KLM Airfrance وAdidas وGoogle وQantas وAllianz Life عبر مجموعات تهديد مثل UNC6040/ShinyHunters باستخدام هذا المسار نفسه. استخدم المهاجمون social engineering، مثل مكالمات هاتفية تنتحل فريق IT، لخداع الموظفين حتى يصرحوا Connected Apps ضارة عبر Device Flow.
أكدت Salesforce أن هذه الثغرة استُغلت في بيئات production، مما يجعل الإيقاف ضرورة أمنية وليس مجرد ترقية تقنية.
البديل الآمن هو PKCE (Proof Key for Code Exchange)، وهو تحسين على Authorization Code Flow يمنع اعتراض authorization code.
أنشئ code_verifier، وهي سلسلة عشوائية وآمنة تشفيريا بطول 43-128 حرفا.
طبّق SHA256 ثم base64url-encode → code_challenge.
مهم: استخدم base64url encoding، وليس base64 القياسي. يستبدل ذلك
+ بـ -، و/ بـ _، ويزيل padding
= لضمان أمان URL.
تأكد من تضمين parameter الحرج الضروري لتنفيذ PKCE:
code_challenge_method=S256
مثال:
https://login.salesforce.com/services/oauth2/authorize? client_id=YOUR_CLIENT_ID& response_type=code& redirect_uri=YOUR_CALLBACK_URL& scope=full refresh_token& code_challenge_method=S256& code_challenge=YOUR_CODE_CHALLENGE& state=YOUR_RANDOM_STATE
أرسل code وcode_verifier إلى Salesforce:
POST /services/oauth2/token grant_type=authorization_code client_id=YOUR_CLIENT_ID code=AUTH_CODE code_verifier=ORIGINAL_CODE_VERIFIER redirect_uri=CALLBACK_URL
تضيف Salesforce صلاحيات جديدة بقواعد تعتمد على إعدادات org لديك:
يمكن للمستخدمين الوصول إلى التطبيقات غير المثبتة بإحدى الصلاحيتين:
ستعمل فقط صلاحية Use Any API Client للوصول إلى التطبيقات غير المثبتة.
موعد حاسم: 2 سبتمبر 2025، ينتهي دعم OAuth Device Flow في Data Loader.
أخطاء PKCE ("invalid code verifier"): سببها غالبا غياب
code_challenge_method=S256 أو base64url encoding غير صحيح.
حظر وصول المستخدم بعد سبتمبر: يُحل عبر تعيين الصلاحية المناسبة بناء على حالة API Access Control.
فشل تسجيل الدخول في Data Loader: انقل طريقة المصادقة قبل 2 سبتمبر 2025.
إعداد Connected App غير صحيح: عند تثبيت التطبيقات، اضبط "Permitted Users" على "Admin approved users are pre-authorized" لتحكم أمني أفضل.
راجع Connected Apps:
حدد استخدام Device Flow:
خطط لتنفيذ PKCE:
نفذ OAuth flow يدعم PKCE:
code_challenge_method=S256اختبر في Salesforce sandbox:
اضبط Connected Apps بشكل صحيح:
استعد لهجرة Data Loader:
راقب authentication logs:
وفر دعم المستخدمين:
راجع security policies كل ربع سنة:
تواصل مع Salesforce Support لتفعيل هذه الميزة، التي توفر:
التصاريح الحالية: يمكن للمستخدمين الذين صرحوا Connected Apps سابقا الاستمرار في استخدامها بعد سبتمبر 2025، باستثناء التطبيقات التي تم التصريح لها باستخدام Device Flow. سيتم حظر كل تصاريح Device Flow فوريا بغض النظر عن الاستخدام السابق.
إيقاف Salesforce لـ Device Flow ليس مجرد ترقية تقنية، بل استجابة أمنية حاسمة لهجمات واقعية أضرت بمؤسسات كبيرة. تظهر الخروقات الأخيرة في شركات بارزة الحاجة الملحة لهذه التحسينات.
من خلال الهجرة إلى Connected App OAuth2 Flow مع PKCE وضبط الصلاحيات بشكل صحيح، تستطيع المؤسسات:
عوامل النجاح الأساسية:
الاستعداد المبكر، والاختبار الجيد، وتطبيق governance مناسب سيقلل التعطيل ويقوي وضع الأمان في مؤسستك بشكل كبير.

Andrew Hanna

Serpent Team

Tekunda Team

Tekunda Team

Tekunda Team

Andrew Hanna