تسجيل الدخول باستخدام ChatGPT هو نظام تسجيل دخول بمعيار OAuth 2.0 و OpenID Connect من OpenAI، وهو متاح لمستخدمي ChatGPT في جميع أنحاء العالم. يحصل تطبيقك على معرّف حساب ثابت بالإضافة إلى اسم الشخص وعنوان بريده الإلكتروني وصورة ملفه الشخصي. منذ DevDay في 29 سبتمبر 2026، يمكن لمستخدمي Plus و Pro أيضًا السماح للتطبيقات المشاركة بتشغيل طلبات الذكاء الاصطناعي على خطة ChatGPT الخاصة بهم بدلاً من مفتاح API الخاص بك، ضمن حد أسبوعي يحددونه لكل تطبيق. لا يتلقى تطبيقك أبدًا محادثاتهم أو ذكرياتهم أو مفتاح API.
الجزء الثاني يمس فاتورتك. يغطي هذا الدليل سير العمل، وكيف تبدو استخدامات الخطة للمستخدم، ومن يمكنه التكامل اليوم، ومتى يجب أن تحل خطة المستخدم محل مفتاحك، وكيفية اختبار تسجيل الدخول ومسارات الفشل الخاصة به في Apidog. لبقية الحدث، اطلع على ملخص DevDay 2026؛ إذا كان الفرق بين الهوية والتفويض غير واضح، فاقرأ OAuth مقابل OpenID أولاً.
تسجيل الدخول باستخدام ChatGPT بنظرة سريعة
| البند | ما توثقه OpenAI |
|---|---|
| نطاقات الهوية | openid profile email |
| نطاقات استخدام الخطة (تدفق المصدر المفتوح) | offline_access resource.invoke chatgpt.tokens.use.direct، مع resource=https://api.openai.com/v1 |
| ما يتلقاه تطبيقك | رمز تعريف (ID token)؛ مع استخدام الخطة، رمز وصول (access token) ورمز تحديث (refresh token) |
| أهلية استخدام الخطة | مستخدمو Plus و Pro، في التطبيقات المشاركة |
| أين يتم احتساب الاستخدام | استخدام خطة ChatGPT Work و Codex |
| التحكم لكل تطبيق | حد أسبوعي كنسبة من إجمالي الاستخدام الأسبوعي؛ يتم إيقاف تشغيل الأرصدة بعد تجاوز الحد الافتراضي |
| رموز استخدام الخطة | رمز الوصول ساعة واحدة؛ رمز التحديث 30 يومًا، يتم استبداله عند كل تحديث |
| وصول المطورين | التطبيقات التجارية: تجربة محدودة عبر نموذج اهتمام. تطبيقات المصدر المفتوح: خدمة ذاتية |
المصادر: وثائق تسجيل الدخول باستخدام ChatGPT، ومرجع الرمز، ومقالة مساعدة OpenAI حول استخدام خطة ChatGPT الخاصة بك في تطبيقات أخرى.
ما يتلقاه تطبيقك وما لا يتلقاه
الهوية هي الافتراضي. يحصل العميل الذي يطلب openid profile email على رمز تعريف (ID token). وفقًا لـدليل الموقع الإلكتروني، يغطي profile المطالبات المتاحة مثل الاسم وصورة الملف الشخصي، ويغطي email مطالبات البريد الإلكتروني وتأكيد البريد الإلكتروني. لا تمنح نطاقات الهوية إمكانية الوصول إلى محادثات ChatGPT أو موارد OpenAI API.
ربط الحساب بمعرف sub الموثق بالإضافة إلى المصدر ومعرف العميل، وليس البريد الإلكتروني. تحذر OpenAI من أن تطابق البريد الإلكتروني وحده ليس دليلاً على الملكية، لذا اطلب من المستخدمين الحاليين تأكيد الارتباط.
استخدام الخطة هو منح منفصل. إذا وافق المستخدم على النطاقات الإضافية، يضيف رد الرمز رمز وصول لطلبات Responses API المؤهلة. لا ينبغي أن تتطلب العملاء التي تعتمد على الهوية فقط access_token على الإطلاق: id_token هو الأثر الوحيد المطلوب.
كيف يعمل تدفق OAuth
تدفق الموقع الإلكتروني هو منح رمز التفويض مع PKCE القياسي بالإضافة إلى OIDC. قم بتحميل نقاط النهاية من https://auth.openai.com/.well-known/openid-configuration. تسرد الوثائق هذه القيم الإنتاجية:
Issuer: https://auth.openai.com
Authorization endpoint: https://auth.openai.com/api/accounts/authorize
Token endpoint: https://auth.openai.com/api/accounts/oauth/token
JWKS URI: https://auth.openai.com/.well-known/jwks.json
- يقوم الواجهة الخلفية لتطبيقك بإنشاء
stateجديد، ومحقق PKCE بتحدي S256، وnonce. - يعيد توجيه المتصفح إلى نقطة نهاية التفويض باستخدام معرف العميل الخاص بك، ومحدد موقع الموارد الموحد (URI) الدقيق لإعادة التوجيه والنطاقات.
- يوافق المستخدم، وتعيد OpenAI رمزًا إلى دالة رد الاتصال الخاصة بك.
- يقوم الواجهة الخلفية لتطبيقك بفحص
state، وتبادل الرمز، والتحقق من توقيع رمز الهوية والمصدر والجمهور وتاريخ الانتهاء وnonce. - يقوم بالعثور على الحساب المحلي أو إنشائه أو ربطه ويصدر جلسته الخاصة.
العملاء العموميون لا يرسلون أي سر. العميل السري الذي يستخدم client_secret_basic يرسل سره فقط في رأس HTTP الأساسي.
تسجل أدوات المصدر المفتوح بشكل مختلف. يبدأ دليل تسجيل الدخول مفتوح المصدر بمعرف العميل client_id=dynamic_agent_client، وتلميح اسم وكيل agent_name_hint مضبوطًا على اسم تطبيقك، ومعرف مضيف وكيل خارجي ext_agent_host_id ثابت لكل مضيف. تعيد وظيفة رد الاتصال معرف عميل صادر (مثل oaiapp_...) للحفظ وإعادة الاستخدام؛ إعادة التوجيه هي عنوان URI للارتداد 127.0.0.1، ولا يوجد سر عميل متضمن.
كيف يعمل استخدام الخطة للمستخدم
ما يراه المستخدمون، وما يجب أن توضحه وثائق الدعم الخاصة بك:
- **الطلبات المؤهلة تحسب ضمن الخطة.** تستخدم من استهلاك ChatGPT Work و Codex في خطة Plus أو Pro للمستخدم.
- **كل تطبيق يحصل على حد أسبوعي.** يحدده المستخدم كنسبة مئوية من إجمالي الاستخدام الأسبوعي (مثال إعدادات الوثائق يتراوح من 10% إلى 100%). إنه سقف، وليس تجمعًا محجوزًا، لذا فإن الاستخدام المكثف في مكان آخر يمكن أن يستنفد الخطة أولاً.
- **الاعتمادات اختيارية.** الاستمرار بالاعتمادات بعد تجاوز الحدود يكون معطلاً افتراضيًا ويتطلب أن يكون حد التطبيق 100%.
- **خطة Plus لديها حد مشترك لمدة خمس ساعات.** وفقًا لـصفحة الحسابات والجلسات، فإنه يمتد ليشمل كل تطبيق يستخدم الخطة. لا ينطبق على Pro.
- **قطع الاتصال يوقف الاستخدام المستقبلي.** لا يعكس الاستخدام المستهلك بالفعل، ولا تقوم OpenAI بإخطار تطبيقك؛ تكتشف ذلك عندما يفشل طلب أو تحديث.
يدير المستخدمون كل هذا ضمن إعدادات ChatGPT، الاستخدام (chatgpt.com/settings/usage)، وتطلب إرشادات واجهة المستخدم من OpenAI منك الربط هناك باستخدام إدارة الاستخدام.
من يشارك عند الإطلاق، وكيف تحصل على معرف العميل
يسرد ملخص DevDay من OpenAI ستة عشر شريكًا في استخدام الخطة، منهم Devin من Cognition، و Notion، و Vercel، و T3، و OpenClaw، و Dactyl. تذكر The New Stack Amp، و Warp، و Kilo Code، و OpenCode من بين الآخرين، مع الإشارة إلى Lovable بأنه قادم قريبًا. إذا كنت تشغل OpenClaw، فهو موجود في كلتا القائمتين.
عرض سام ألتمان على المسرح، كما ذكرت The New Stack: "الآن لم تعد مضطرًا لتغطية تكاليف الرموز الخاصة بهم لتشغيلهم".
كيف تشارك يعتمد على ما تقدمه:
- **التطبيقات التجارية أو المستضافة:** تسجيل الدخول هو تجربة محدودة. يمكنك طلب معرف عميل بالانضمام إلى قائمة الانتظار عبر نموذج اهتمام OpenAI، سواء كنت تريد الهوية فقط أو استخدام الخطة أيضًا (تسمي عناوين URL في الوثائق استخدام الخطة "مشاركة الرموز").
- **أدوات المصدر المفتوح والمستضافة محليًا:** استخدام الخطة متاح لجميع شركاء المصدر المفتوح عبر تدفق الخدمة الذاتية المذكور أعلاه.
ما الذي يتغير في فاتورة API الخاصة بك
اليوم تدفع لكل رمز وتستعيده من خلال التسعير. استخدام الخطة ينقل تكلفة النموذج إلى اشتراك المستخدم، لذلك يتوقف هامش ربحك عن الاعتماد على مدى كثافة استخدامهم للذكاء الاصطناعي. المفاضلة هنا هي التحكم.
| مفتاح API الخاص بك | خطة ChatGPT للمستخدم | |
|---|---|---|
| من يدفع | أنت، لكل رمز | خطة المستخدم (الرصيد فقط إذا وافقوا) |
| من يمكنه استخدامه | كل مستخدم | مستخدمو Plus و Pro الذين يمنحون chatgpt.tokens.use.direct |
| الحدود | فئة حد السعر الخاص بك | الاستخدام الأسبوعي للخطة، الحد الأقصى لكل تطبيق، نافذة Plus ذات الخمس ساعات |
| شكل الطلب | واجهة برمجة تطبيقات Responses API الكاملة | يتطلب store: false وstream: true؛ لا يوجد temperature، max_output_tokens، بحث عن ملفات أو مترجم تعليمات برمجية (Code Interpreter) |
| الفشل النموذجي | 429 عند تجاوز فئتك | 429 subscription_sharing_usage_limit_exceeded، أو هذا الرمز في response.failed في منتصف التدفق |
| حل بديل | خاص بك لتصميمه | لا يوجد حل تلقائي: لا تقوم OpenAI بتبديل الفواتير |
| ماذا تعرض | استخدامك وتسعيرك الخاص | "باستخدام خطة ChatGPT"، رابط لإدارة الاستخدام، أي من خططك تدعم ذلك |
تأتي القيود من صفحة قيود المعاينة: الميزات التي تحتاج إلى حالة محادثة مخزنة أو أدوات مستضافة لن تعمل على خطة المستخدم اليوم.
الخيار الافتراضي المعقول هو الهجين: استخدام الخطة للعمل التفاعلي من قبل مستخدمي Plus و Pro، ومفتاحك لكل شخص آخر وللمهام الخلفية، و CI والوكلاء المجدولين. عندما يتم الوصول إلى الحد الأقصى، اعرض إدارة الاستخدام وقدم أرصدتك الخاصة كخيار ثانوي. يغطي مقارنة مفتاح API مقابل OAuth المفاضلة العامة، ويغطي OAuth لوكلاء الذكاء الاصطناعي العمل نيابة عن المستخدم بأمان.
كيفية اختبار تدفق تسجيل الدخول ومسارات الفشل في Apidog
لا يقوم Apidog بتسجيل دخول أي شخص باستخدام ChatGPT. بل يقوم باختبار إعداد OAuth الخاص بك، واستدعاءات الرمز، ومعالجة الأخطاء. قم بتنزيل Apidog وإنشاء بيئة.
1. تخزين العميل كمتغيرات. أضف SIWC_CLIENT_ID، SIWC_REDIRECT_URI، وبالنسبة لعميل سري SIWC_CLIENT_SECRET كقيمة حساسة، بالإضافة إلى ACCESS_TOKEN لاستخدام الخطة. أشر إليها كـ {{SIWC_CLIENT_ID}} حتى لا يكون هناك سر مخزن في طلب محفوظ.
2. تشغيل تدفق رمز التفويض. في علامة التبويب Auth، اختر OAuth 2.0 مع رمز التفويض و PKCE، أدخل نقاط النهاية المذكورة أعلاه، اضبط النطاق على openid profile email، واستخدم عنوان URL لرد الاتصال المسجل لعميلك. يشرح دليل Apidog OAuth 2.0 كل حقل.
3. تأكيد رمز الهوية الذي حصلت عليه. احفظ تبادل الرموز كطلب POST خاص به إلى نقطة نهاية الرمز (رمز، محقق، URI لإعادة التوجيه، معرف العميل) وأضف معالجًا لاحقًا إليه. لا تزال عمليات التحقق من التوقيع والـ nonce تنتمي إلى الواجهة الخلفية الخاصة بك.
const body = pm.response.json();
pm.test("token exchange returned an ID token", () => {
pm.expect(pm.response.code).to.eql(200);
pm.expect(body.id_token).to.be.a("string");
});
const decode = require("atob");
const part = body.id_token.split(".")[1].replace(/-/g, "+").replace(/_/g, "/");
const claims = JSON.parse(decode(part + "=".repeat((4 - (part.length % 4)) % 4)));
pm.test("ID token claims match this client", () => {
pm.expect(claims.iss).to.eql("https://auth.openai.com");
pm.expect(claims.aud).to.include(pm.environment.get("SIWC_CLIENT_ID"));
pm.expect(claims.sub).to.be.a("string").and.not.empty;
pm.expect(claims.exp * 1000).to.be.above(Date.now());
});
قم بتسجيل name وemail وpicture بدلاً من التأكيد عليها، لأنها تُعاد عند توفرها. لاستخدام الخطة، تأكد من أن body.scope يحتوي على chatgpt.tokens.use.direct.
4. محاكاة مسارات الفشل. حساب Plus حقيقي هو وسيلة اختبار ضعيفة، لذا أعد هذه من خادم Apidog الوهمي:
- **رفض استخدام الخطة:** استجابة رمز (token response) يفتقر نطاقه (
scope) إلىchatgpt.tokens.use.direct. يجب أن يحافظ تطبيقك على تسجيل الدخول ويقدم تمكين استخدام الخطة أو استخدام مسار فوترة آخر. - **تم الوصول إلى الحد الأقصى:** 429 مع
error.codesubscription_sharing_usage_limit_exceeded، بالإضافة إلى نفس الرمز في حدث تدفقresponse.failedفي منتصف التدفق. تأكد من أن تطبيقك يوقف طلبات الخطة. - **غير مؤهل:** 403
subscription_sharing_user_not_eligible. لا تحاول إعادة المحاولة أو التكرار عبر OAuth. - **غير متصل:** تحديث يعيد
invalid_grant، أو 401subscription_sharing_invalid_user. امسح الرموز واطلب تسجيل الدخول مرة أخرى.
ربط الحالات في سيناريو اختبار وقم بتشغيله في CI باستخدام واجهة سطر الأوامر (CLI) الخاصة بـ Apidog. تسرد صفحة الأخطاء والاسترداد المجموعة الكاملة.
5. تحقق من الاستدعاء المباشر. باستخدام رمز خطة حقيقي، أرسل طلب التدفق الخاص بالوثائق (في Apidog، كـ Bearer {{ACCESS_TOKEN}}) وتأكد من أن التدفق ينتهي بـ response.completed، وهي إشارة النجاح الوحيدة:
curl --no-buffer https://api.openai.com/v1/responses \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"input": [{"role": "user", "content": "Say exactly: Hello, world!"}],
"store": false,
"stream": true
}'
الأسئلة الشائعة
هل يمكن للمستخدمين المجانيين تسجيل الدخول باستخدام ChatGPT؟ تسجيل الدخول متاح لمستخدمي ChatGPT عالميًا. يتطلب استخدام الخطة داخل تطبيق آخر اشتراك Plus أو Pro.
هل يحصل تطبيقي على مفتاح OpenAI API الخاص بالمستخدم؟ لا. تحصل على رمز تعريف (ID token)، ومع استخدام الخطة، رمز وصول (OAuth access token) لطلبات Responses API المؤهلة.
ماذا يحدث عندما يصل المستخدم إلى حده الأقصى؟ تفشل الطلبات بـ subscription_sharing_usage_limit_exceeded: رمز HTTP 429، أو حدث response.failed بعد بدء التدفق. قم بإيقاف مؤقت واربط بإدارة الاستخدام.
هل يمكن لمستخدم Plus تشغيل GPT-6.1 Sol عبر تطبيق شريك؟ يستخدم مثال الوثائق gpt-6.1-sol مع رمز الخطة، ولكن قم بسرد نماذج الحساب باستخدام هذا الرمز قبل تقديم واحد. المزيد في هل GPT-6.1 Sol مجاني.
الخطوة التالية
إذا كنت تدير تطبيقًا تجاريًا، انضم إلى قائمة الانتظار الآن، وقم ببناء آليات التعامل مع الحد الأقصى وقطع الاتصال باستخدام المحاكيات أثناء انتظارك. تعامل مع استخدام الخطة كخيار بجانب فواتير API الخاصة بك، وليس بديلاً عنها. احفظ تأكيدات الرمز وسيناريو الفشل في Apidog، بحيث يكون المتغير الجديد الوحيد، عند وصول معرف العميل الخاص بك، هو الرمز الحقيقي.
