مصادقة المستخدمين في إجراءات GPT: بناء مساعد جدول أعمال شخصي
قم ببناء تجربة شخصية لمستخدميك مباشرة في GPT الخاص بك. يوضح لك هذا الدليل كيفية استخدام OAuth لإنشاء مساعد جدول أعمال شخصي في GPT.
Gpt رائع لتخصيص تجربة ChatGPT بعمق لحالات الاستخدام المحددة. والأفضل من ذلك، أنه يسمح لك بالتفاعل مباشرة مع خدماتك باستخدام الإجراءات.
في هذا الدليل، سنوضح لك كيفية استخدام OAuth لمصادقة المستخدمين في إجراءات GPT الخاصة بك. سنقوم ببناء مساعد جدول أعمال شخصي يتيح للمستخدمين إدارة أحداثهم مباشرة في GPT.
سيبدو GPT النهائي كما يلي:
الجانب الأيسر هو تفاعل المستخدم مع GPT؛ الجانب الأيمن هو تطبيق الويب الذي يظهر جدول أعمال المستخدم. هناك المزيد من الإمكانيات مع هذا النهج، مثل:
- إنشاء مساعد شخصي يساعد المستخدمين على استيعاب البريد الإلكتروني والأخبار.
- إنشاء GPT لتصفح وحجز الرحلات الجوية دون مغادرة المحادثة.
النتائج والموارد لهذا الدليل:
- GPT النهائي متاح على ChatGPT.
- تطبيق الويب التجريبي متاح على gpt-agenda.fordemo.app.
- الكود الكامل متاح على GitHub.
المتطلبات الأساسية
- اعتبارًا من وقت كتابة هذا الدليل، تتوفر GPTs فقط لمستخدمي ChatGPT Plus وما فوق.
- مستأجر Logto Cloud. اشترك مجانًا إذا لم يكن لديك واحد.
- نطاق يمكنك التحكم فيه. سيتم استخدامه لكل من GPT وLogto Cloud.
- تطبيق ويب يعرض REST APIs. في هذا الدليل، سنستخدم تطبيق الجدول الزمني المسبق البناء.
إنشاء وتكوين GPT
إنشاء GPT
- افتح ChatGPT، على الجانب الأيسر، انقر فوق زر استكشاف GPTs، ثم انقر فوق زر إنشاء في الزاوية العلوية اليمنى.
- في صفحة GPT الجديدة، أدخل اسمًا ووصفًا لـ GPT الخاص بك. على سبيل المثال، مساعد الجدول الزمني و يدير جدول أعمالك مباشرة في المحادثة.
- يمكنك بشكل اختياري تحميل شعار لـ GPT الخاص بك، أو استخدام DALL-E لإنشاء واحد لك بالنقر فوق رمز الزائد.
إنشاء إجراء
انقر فوق زر إنشاء إجراء جديد في الأسفل. في الصفحة الجديدة، هناك ثلاثة أقسام:
- المصادقة: يتيح لك هذا القسم تكوين كيفية مصادقة المستخدمين مع إجراءك. نتركه لا شيء الآن.
- المخطط: OpenAPI المخطط بتنسيق YAML الذي يحدد REST APIs لإجراءك. كلما كان المخطط أكثر تفصيلاً، كلما كان يمكن لـ GPT فهم نية المستخدم بشكل أفضل.
- سياسة الخصوصية: عنوان URL لسياسة الخصوصية لإجراءك.
في هذا الدليل، لدينا تطبيق جدول زمني مسبق البناء يعرض REST APIs لإدارة جدول أعمال المستخدم. يمكنك العثور على مخطط OpenAPI في GitHub repo.
بمجرد لصق المخطط، سيتعرف GPT تلقائيًا على نقاط النهاية ويولد جدولاً لك. يمكنك النقر فوق زر تجربة لاختبار نقاط النهاية.
سوف يطلب منك GPT منح الإذن لإجراء المكالمة API. انقر فوق زر السماح أو زر السماح دائمًا للمتابعة.
إذا كانت نقطة النهاية تتطلب المصادقة، سترى رسالة خطأ كما هو موضح أعلاه. عندما نتحقق من سجلات الخادم، نرى أن GPT يرسل الطلب دون أي معلومات مصادقة.
تكوين نطاق مخصص في Logto Cloud
تتطلب ChatGPT أن تكون كل من نقاط النهاية والإجراءات في نفس جذر النطاق. على سبيل المثال، إذا كانت نقطة النهاية للإجراءات الخاصة بك هي https://api.example.com/
، إذن يجب أن تكون نقطة النهاية للمصادقة شيئًا مثل https://auth.example.com/
.
للامتثال لهذا الطلب، نحتاج إلى تكوين نطاق مخصص في Logto Cloud. بعد تسجيل الدخول إلى Logto Cloud، انقر فوق علامة التبويب الإعدادات على الجانب الأيسر، ثم انقر فوق علامة التبويب النطاقات في الأعلى.
عادةً ما يستغرق الأمر بضع دقائق فقط لإكمال التكوين. بمجرد الانتهاء، سترى النطاق المخصص يصبح قيد الاستخدام.
إنشاء تطبيق في Logto Cloud
لإجراء مصادقة OAuth، نحتاج إلى إنشاء تطبيق في Logto Cloud. بعد تسجيل الدخول إلى Logto Cloud، انقر فوق علامة التبويب التطبيقات على الجانب الأيسر، ثم انقر فوق زر إنشاء تطبيق في الزاوية العلوية اليمنى.
في الصفحة الجديدة، انقر فوق "إنشاء تطبيق بدون إطار عمل" في الأسفل. اختر "Web تقليدية" كنوع التطبيق، وأدخل اسمًا لتطبيقك، على سبيل المثال، GPT Agenda Assistant. ثم انقر فوق "إنشاء تطبيق" في الأسفل.
بعد إنشاء التطبيق، انتقل إلى بطاقة نقاط النهاية والمفاتيح (قد تحتاج إلى التمرير لأسفل قليلا). انقر فوق إظهار تفاصيل نقطة النهاية لتوسيع المعلومات.
تكوين الإجراء
الآن، انتقل إلى صفحة إجراء GPT، انقر فوق قسم المصادقة، ثم اختر OAuth. تتطابق عناصر النموذج مع المعلومات في Logto Cloud كما يلي:
- معرف العميل: معرف التطبيق في Logto Cloud.
- سر العميل: سر التطبيق في Logto Cloud.
- عنوان URL للمصادقة: نقطة النهاية للمصادقة في Logto Cloud.
- عنوان URL للرمز: نقطة النهاية للرمز في Logto Cloud.
لحقل النطاق، أدخل openid offline_access
; لحقل "طريقة تبادل الرمز"، احتفظ بالقيمة الافتراضية (طلب POST).
أخيرًا، انقر فوق زر حفظ في الأسفل.
تحديث تكوين تطبيق Logto
ارجع إلى صفحة تكوين GPT، يمكنك الآن رؤية حقل عنوان URL للتراجع تحت قسم الإجراءات.
انسخ ذلك العنوان URL، ثم ارجع إلى صفحة تطبيق Logto Cloud. الصق العنوان في قسم عنوان URL لإعادة التوجيه.
الآن، قم بالتمرير إلى الأسفل، وقم بتشغيل إصدار الرمز المحدث دائمًا لتمكين دعم الرموز المحدثة لـ GPT. يمكن أن يساعد المستخدمين في البقاء مسجلين لفترة أطول في GPT.
ثم انقر فوق زر حفظ في الأسفل.
نقطة التحقق: اختبار تدفق OAuth
الآن لدينا كل شيء جاهز، دعونا نختبر تدفق OAuth للتأكد من أن كل شيء يعمل كما هو متوقع. ارجع إلى صفحة تكوين GPT، انقر فوق الإجراء الذي أنشأناه، ثم انقر فوق زر تجربة لنقطة النهاية listItems (الأولى).
سيطالبك قسم المعاينة بتسجيل الدخول. انقر فوق زر تسجيل الدخول باستخدام [اسم إجراءك]، ثم أنهي تدفق OAuth.
يمكن تخصيص تجربة تسجيل الدخول مثل العلامة التجارية وطرق تسجيل الدخول في Logto Cloud. لمزيد من المعلومات، يرجى الرجوع إلى 🎨 تخصيص تجربة تسجيل الدخول.
إذا كان كل شيء يعمل كما هو متوقع، يجب أن يتلقى خادم الخلفية طلبًا برمز الوصول في ترويسة Authorization
. في حالتنا، خادم الخلفية هو تطبيق الجدول الزمني. سيعيد جدول أعمال المستخدم في جسم الاستجابة:
بشكل رائع، نظرًا لأن مخطط OpenAPI لدينا مفصل بما فيه الكفاية، يمكن لـ GPT إجراء المكالمة API دون أي تكوين إضافي. على سبيل المثال، إذا نقرت فوق زر تجربة لنقطة النهاية createItems، سترى أن GPT يقوم بتوليد جسم الطلب لك (أو يطلب منك تقديم المعلومات المفقودة، حسب مزاجه).
تحقق من صحة رمز الوصول
مع عمل تدفق OAuth، يمكننا الآن التحقق من صحة رمز الوصول في خدمات الخلفية للتأكد من أن الطلب قادم من مستخدم مصادق. كما أن Logto هو مزود OIDC، يمكننا استخدام نقطة نهاية معلومات المستخدم للتحقق من صحة رمز الوصول. يمكن العثور على نقطة النهاية في صفحة تطبيق Logto Cloud.
قم ببساطة بإرسال طلب GET إلى نقطة النهاية مع رمز الوصول في ترويسة Authorization
. إذا كان رمز الوصول صالحًا، ستعيد نقطة النهاية معلومات المستخدم في جسم الاستجابة. إليك مثال باستخدام Node.js:
يمكنك العثور على الكود الكامل في GitHub repo.
المكافأة: المزامنة الفورية مع التطبيق الرئيسي
قد يكون لديك تطبيق جدول زمني خاص بك، ومع المصادقة، يمكنك مزامنة جدول أعمال المستخدم في الوقت الحقيقي دون مغادرة المحادثة. لرؤية المزامنة الفورية قيد التنفيذ، يمكنك الانتقال إلى تطبيق الويب وتسجيل الدخول باستخدام نفس الحساب الذي استخدمته في عرض GPT.
الخلاصة
يمكن أن تكون إجراءات GPT أداة قوية لبناء تجربة مخصصة لمستخدميك. إذا كان لديك أي أسئلة أو استفسارات، لا تتردد في الانضمام إلى خادم Discord الخاص بنا للمناقشة.