تسجيل الدخول بـ ChatGPT للمطورين: تدفق OAuth، استهلاك الخطة، وتأثيره على فاتورة API

تسجيل الدخول باستخدام ChatGPT للمطورين: ما يتلقاه تطبيقك، كيفية عمل استخدام خطط Plus و Pro والحدود الأسبوعية، وكيفية اختبار تدفق OAuth.

Emmanuel Mumba

Emmanuel Mumba

2 أكتوبر 2026

تسجيل الدخول بـ ChatGPT للمطورين: تدفق OAuth، استهلاك الخطة، وتأثيره على فاتورة API

Apidog للمؤسسات

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

SSO و RBAC

متوافق مع SOC 2

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

تسجيل الدخول باستخدام 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
  1. يقوم الواجهة الخلفية لتطبيقك بإنشاء state جديد، ومحقق PKCE بتحدي S256، وnonce.
  2. يعيد توجيه المتصفح إلى نقطة نهاية التفويض باستخدام معرف العميل الخاص بك، ومحدد موقع الموارد الموحد (URI) الدقيق لإعادة التوجيه والنطاقات.
  3. يوافق المستخدم، وتعيد OpenAI رمزًا إلى دالة رد الاتصال الخاصة بك.
  4. يقوم الواجهة الخلفية لتطبيقك بفحص state، وتبادل الرمز، والتحقق من توقيع رمز الهوية والمصدر والجمهور وتاريخ الانتهاء وnonce.
  5. يقوم بالعثور على الحساب المحلي أو إنشائه أو ربطه ويصدر جلسته الخاصة.

العملاء العموميون لا يرسلون أي سر. العميل السري الذي يستخدم client_secret_basic يرسل سره فقط في رأس HTTP الأساسي.

تسجل أدوات المصدر المفتوح بشكل مختلف. يبدأ دليل تسجيل الدخول مفتوح المصدر بمعرف العميل client_id=dynamic_agent_client، وتلميح اسم وكيل agent_name_hint مضبوطًا على اسم تطبيقك، ومعرف مضيف وكيل خارجي ext_agent_host_id ثابت لكل مضيف. تعيد وظيفة رد الاتصال معرف عميل صادر (مثل oaiapp_...) للحفظ وإعادة الاستخدام؛ إعادة التوجيه هي عنوان URI للارتداد 127.0.0.1، ولا يوجد سر عميل متضمن.

كيف يعمل استخدام الخطة للمستخدم

ما يراه المستخدمون، وما يجب أن توضحه وثائق الدعم الخاصة بك:

يدير المستخدمون كل هذا ضمن إعدادات 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: "الآن لم تعد مضطرًا لتغطية تكاليف الرموز الخاصة بهم لتشغيلهم".

كيف تشارك يعتمد على ما تقدمه:

ما الذي يتغير في فاتورة 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 الوهمي:

ربط الحالات في سيناريو اختبار وقم بتشغيله في 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، بحيث يكون المتغير الجديد الوحيد، عند وصول معرف العميل الخاص بك، هو الرمز الحقيقي.

button

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

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