دليل شامل خطوة بخطوة لـ OpenID Connect

Oliver Kingsley

Oliver Kingsley

26 مارس 2026

دليل شامل خطوة بخطوة لـ OpenID Connect

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

أصبح OpenID Connect المعيار الصناعي للمصادقة الآمنة والحديثة وتسجيل الدخول الموحد (SSO). إذا كنت تبحث عن دليل OpenID Connect واضح وعملي وشامل، فأنت في المكان الصحيح. سيرشدك هذا الدليل إلى ماهية OpenID Connect، ولماذا هو مهم، والمفاهيم الأساسية، وسير المصادقة، والتطبيق العملي، والأمثلة الواقعية لسيناريوهات العالم الحقيقي.

ما هو OpenID Connect؟ (أساسيات دليل OpenID Connect)

OpenID Connect هو بروتوكول مصادقة يعتمد على إطار عمل OAuth 2.0. بينما تم تصميم OAuth 2.0 للترخيص (منح الوصول إلى الموارد)، تم بناء OpenID Connect للمصادقة — التحقق من هوية المستخدمين وتوفير معلومات الملف الشخصي الأساسية بطريقة آمنة.

لماذا يعتبر OpenID Connect مهمًا؟

في دليل OpenID Connect هذا، ستتعلم كيفية تحقيق كل هذه الفوائد خطوة بخطوة.

المفاهيم الأساسية لدليل OpenID Connect هذا

قبل الغوص في سير عمل دليل OpenID Connect، دعنا نوضح المصطلحات والمكونات الأساسية التي ستصادفها:

دليل OpenID Connect: شرح سير عمل المصادقة

يجب أن يرشدك دليل OpenID Connect الشامل خلال عملية المصادقة الكاملة. إليك كيفية عملها خطوة بخطوة:

1. يبدأ المستخدم تسجيل الدخول

ينقر المستخدم على "تسجيل الدخول باستخدام OpenID Connect" في تطبيقك.

2. العميل يعيد التوجيه إلى خادم التفويض

يعيد تطبيقك توجيه متصفح المستخدم إلى نقطة نهاية التفويض لمزود الهوية (IdP)، بما في ذلك معلمات مثل:

مثال على عنوان URL:

https://idp.example.com/authorize?
  client_id=YOUR_CLIENT_ID
  &redirect_uri=https://yourapp.com/callback
  &scope=openid%20profile%20email
  &response_type=code
  &state=randomState123

3. المستخدم يصادق نفسه

يعرض مزود الهوية (IdP) شاشة تسجيل الدخول. يدخل المستخدم بيانات الاعتماد ويوافق على مشاركة ملفه الشخصي.

4. خادم التفويض يعيد التوجيه

بعد تسجيل الدخول الناجح، يعيد مزود الهوية (IdP) توجيه المتصفح إلى redirect_uri الخاص بك مع رمز تفويض والحالة الأصلية.

مثال:

https://yourapp.com/callback?code=AUTH_CODE&state=randomState123

5. العميل يستبدل الرمز بالرموز المميزة

يقوم الواجهة الخلفية لتطبيقك باستبدال رمز التفويض بالرموز المميزة عن طريق إرسال طلب POST إلى نقطة نهاية الرمز المميز لمزود الهوية (IdP).

مثال (طلب HTTP POST):

POST /token
Host: idp.example.com
Content-Type: application/x-www-form-urlencodedgrant_type=authorization_code
&code=AUTH_CODE
&redirect_uri=https://yourapp.com/callback
&client_id=YOUR_CLIENT_ID
&client_secret=YOUR_CLIENT_SECRET

6. الرموز المميزة المسترجعة

يعيد مزود الهوية (IdP) استجابة تحتوي على:

مثال على استجابة JSON:

{
  "access_token": "eyJ...abc",
  "id_token": "eyJ...xyz",
  "expires_in": 3600,
  "token_type": "Bearer"
}

7. العميل يتحقق من الرموز المميزة ويستخدمها

يتحقق تطبيقك من صحة id_token (التوقيع، الجمهور، تاريخ انتهاء الصلاحية) ويسجل دخول المستخدم. يمكنك استخدام access_token لاستدعاء واجهات برمجة تطبيقات الموارد إذا لزم الأمر.

دليل OpenID Connect: فهم سير العمليات

يدعم OpenID Connect العديد من سير عمل المصادقة. سيركز هذا الدليل على الأكثر شيوعًا: سير عمل رمز التفويض.

سير عمل رمز التفويض (موصى به لتطبيقات الويب)

لماذا لا نستخدم سير العمل الضمني (Implicit Flow)؟

لم يعد سير العمل الضمني (Implicit Flow) موصى به حاليًا لأسباب أمنية (الرموز المميزة مكشوفة في عنوان URL للمتصفح). يفضل دائمًا استخدام سير عمل رمز التفويض مع PKCE (Proof Key for Code Exchange) للعملاء العموميين مثل تطبيقات الصفحة الواحدة (SPAs).

دليل OpenID Connect: فك تشفير رمز الهوية (ID Token)

رمز id_token هو جوهر OpenID Connect. إنه رمز ويب JSON (JWT)، يمكنك فك تشفيره لاستخراج معلومات المستخدم.

مثال على حمولة id_token:

{
  "iss": "https://idp.example.com",
  "sub": "1234567890",
  "aud": "YOUR_CLIENT_ID",
  "exp": 1712345678,
  "iat": 1712341678,
  "email": "user@example.com",
  "name": "Jane Doe"
}

نصيحة: تحقق دائمًا من التوقيع والمطالبات في رمز الهوية (ID token) قبل تسجيل دخول المستخدم.

دليل OpenID Connect: مثال عملي (باستخدام بايثون)

إليك مثال عملي لدليل OpenID Connect باستخدام بايثون (بدون حزم SDK خارجية)، حتى تفهم كل خطوة.

الخطوة 1: بناء عنوان URL للتفويض

import urllib.parseparams = {
    "client_id": "YOUR_CLIENT_ID",
    "redirect_uri": "https://yourapp.com/callback",
    "response_type": "code",
    "scope": "openid profile email",
    "state": "randomState123"
}
auth_url = "https://idp.example.com/authorize?" + urllib.parse.urlencode(params)
print(auth_url)

الخطوة 2: استبدال رمز التفويض بالرموز المميزة

import requeststoken_data = {
    "grant_type": "authorization_code",
    "code": "AUTH_CODE",
    "redirect_uri": "https://yourapp.com/callback",
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET"
}resp = requests.post("https://idp.example.com/token", data=token_data)
tokens = resp.json()
print(tokens)

الخطوة 3: فك تشفير والتحقق من صحة رمز الهوية (ID Token)

import jwtid_token = tokens['id_token']
decoded = jwt.decode(id_token, options={"verify_signature": False})
print(decoded)

ملاحظة: في بيئة الإنتاج، تحقق دائمًا من التوقيع باستخدام المفتاح العام لمزود الهوية (IdP)!

دليل OpenID Connect: سيناريوهات التطبيق العملي

1. تسجيل الدخول الموحد (SSO) عبر تطبيقات متعددة

باستخدام OpenID Connect، يسجل المستخدمون الدخول مرة واحدة (على سبيل المثال، عبر Google) ويصلون إلى جميع تطبيقاتك بسلاسة. يمكّنك دليل OpenID Connect هذا من تطبيق تسجيل الدخول الموحد (SSO) على مستوى المؤسسة.

2. المصادقة الآمنة لواجهات برمجة التطبيقات (API)

استخدم OpenID Connect لمصادقة مستهلكي واجهات برمجة التطبيقات. تحقق من رمز الهوية (ID token) في الواجهة الخلفية لواجهة برمجة التطبيقات الخاصة بك لكل طلب. تساعدك أدوات مثل Apidog في تصميم واختبار نقاط نهاية واجهة برمجة التطبيقات المؤمنة هذه بسرعة.

3. تكامل تسجيل الدخول الاجتماعي

هل تريد "تسجيل الدخول باستخدام Google" أو "تسجيل الدخول باستخدام Microsoft" على موقعك؟ اتبع دليل OpenID Connect هذا لدمج هؤلاء المزودين بسهولة.

4. مصادقة تطبيقات الجوال

تسمح مرونة OpenID Connect باستخدام نفس سير العمل في تطبيقات الجوال — باستخدام الروابط العميقة أو المتصفحات داخل التطبيق للمصادقة.

دليل OpenID Connect: الاختبار وتصحيح الأخطاء باستخدام Apidog

عند تطوير تكاملات OpenID Connect، يعد تطوير واجهات برمجة التطبيقات واختبارها القوي أمرًا بالغ الأهمية. Apidog هي منصة لتطوير واجهات برمجة التطبيقات تعتمد على المواصفات تبسط تصميم واجهات برمجة التطبيقات، والمحاكاة، والاختبار.

من خلال دمج Apidog في سير عمل دليل OpenID Connect الخاص بك، فإنك تسرّع عملية التطوير، وتقلل الأخطاء، وتضمن أن سير عمل المصادقة لديك قوي.

زر

دليل OpenID Connect: أفضل الممارسات

الخاتمة: الخطوات التالية بعد دليل OpenID Connect هذا

لقد أكملت الآن دليل OpenID Connect شاملًا — فهم البروتوكول، وسير العمليات، والتطبيق، والسيناريوهات الواقعية. يعتبر OpenID Connect المعيار الذهبي للمصادقة في التطبيقات الحديثة، وإتقانه سيرفع مستوى أمانك وتجربة المستخدم.

الخطوات التالية:

1. سجل تطبيقك لدى مزود هوية موثوق به (Google, Auth0, Okta, أو مزودك الخاص).

2. نفذ سير عمل رمز التفويض باستخدام هذا الدليل كمخططك.

3. اختبر سير العمليات الخاصة بك باستخدام Apidog لضمان الموثوقية والأمان.

4. وسع معرفتك من خلال استكشاف مواضيع متقدمة مثل اكتشاف OpenID Connect، وتسجيل العميل الديناميكي، والهوية الموحدة.

مع دليل OpenID Connect هذا، أنت جاهز لبناء مصادقة آمنة وحديثة في أي تطبيق. ترميز سعيد!

زر

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات