كيفية تنفيذ وضع الضيف (المستخدمون المجهولون) والتحويل إلى مستخدمي Logto
تعلم كيفية تنفيذ وضع الضيف والتحويل إلى مستخدمي Logto باستخدام نمط من ثلاث مراحل: إدارة جلسات الضيف، المصادقة باستخدام OIDC، ودمج بيانات الضيف بأمان في حسابات المستخدمين.
تعلم كيفية تنفيذ وضع الضيف والتحويل إلى مستخدمي Logto باستخدام نمط من ثلاث مراحل: إدارة جلسات الضيف، المصادقة باستخدام OIDC، ودمج بيانات الضيف بأمان في حسابات المستخدمين.
تسمح العديد من التطبيقات للمستخدمين بتجربة الميزات قبل التسجيل. فكر في عربات التسوق، مسودات المستندات، أو التفضيلات المحفوظة. يتوقع المستخدمون أن يعمل "وضع الضيف" بسلاسة.
ولكن إذا كنت تستخدم Logto (أو أي مزود OIDC) للمصادقة، قد تتساءل: كيف أتعامل مع هؤلاء المستخدمين المجهولين؟
الجواب القصير: Logto يتعامل مع المصادقة، وتطبيقك يدير جلسات الضيف. هما مواضيع منفصلة.
في هذه المقالة، سأريك نمطًا بسيطًا من ثلاث مراحل لتنفيذ وضع الضيف مع Logto. ستتعلم كيفية:
قد تتوقع أن يكون لدى Logto ميزة "تسجيل دخول مجهول". شيء مثل: استدعاء API، الحصول على رمز وصول، ولا حاجة لتفاعل المستخدم.
لكن هذا ليس كيف يعمل OIDC. وإليك السبب:
OIDC مبني حول موافقة المستخدم. الهدف كله هو التحقق من "من هو هذا الشخص؟". الرمز المجهول سيعني "هناك شخص ما، لكننا لا نعرف من هو" — مما يخل بالغرض.
فكر في الأمر هكذا:
وضع الضيف يتعلق بتتبع الجلسة، وليس المصادقة. لذا لا ينتمي لنظام المصادقة الخاص بك.
هذا في الواقع خبر جيد. فهذا يعني أن لديك فصل واضح:
دع كل نظام يقوم بما صُمم من أجله.
إليك النمط: ضيف → مصادقة → دمج
الخلفية الخاصة بك تنشئ وتدير جلسات الضيف. لم يتدخل Logto بعد.
عندما يقوم مستخدم بإجراء مهم (مثل إضافة منتج إلى السلة)، تقوم الخلفية الخاصة بك بـ:
اجعل الأمر بسيطًا. جدول guest_sessions به guest_id، data، و created_at يكفي.
عندما ينقر المستخدم على "تسجيل" أو "تسجيل دخول"، أطلق تدفق OIDC القياسي لـ Logto.
يبقى معرف الضيف في الكوكي/التخزين أثناء هذه العملية. بعد المصادقة الناجحة، يحصل تطبيقك على:
الآن اربط النقاط. استدعِ API الخلفية مع الاثنين معًا:
يجب على الخلفية التحقق من كلا الرمزين قبل الدمج:
فقط بعد نجاح كلا التحققين:
منطق الدمج يعتمد على طبيعة عملك. عربة تسوق؟ دمج المنتجات. مسودات مستندات؟ نقل الملكية. الخيار لك.
نقطة النهاية الخاصة بالدمج عملية حساسة. بعض الأمور التي يجب الانتباه إليها:
وضع الضيف مع Logto يتبع نمطًا بسيطًا:
هذا النمط يعمل مع أي مزود OIDC، ليس فقط Logto. المفتاح هنا: المصادقة وتتبع الجلسة هما موضوعان منفصلان. دع كل نظام يقوم بما صُمم له.