BotAuth - تسجيل الدخول والتسجيل باستخدام الروبوتات



BotAuth - حزمة تسمح لك بتسجيل الدخول باستخدام برنامج Vkontakte و FaceBook و Telegram.

الهدف الرئيسي من BotAuth هو تبسيط زوار مواقع الويب / تسجيل الدخول PWA عبر الشبكات الاجتماعية.

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

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

عرض توضيحي - https://laravel.zetrider.ru/botauth
جيثب - https://github.com/zetrider/BotAuth

روابط النموذج:

https://vk.me/ https://t.me/ https://m.me/ 

افتح تطبيق المحمول لبدء حوار مع الروبوت. لن يضطر الزائر إلى إعادة إدخال اسم المستخدم وكلمة المرور في المتصفح.

يمكنك توصيل الروبوتات:

  • فكونتاكتي
  • برقية
  • فيسبوك
  • مزودك الخاص (مثال أدناه)

تركيب
  1. الملحن تتطلب zetrider / botauth
  2. قم بتوصيل الحزمة في config / app.php
    مزود
     ZetRider\BotAuth\BotAuthServiceProvider::class, 

    مظهر زائف
     'BotAuth' => ZetRider\BotAuth\Facades\BotAuth::class, 

  3. نسخ التكوين. ملف
     php artisan vendor:publish --tag=botauth-config 

    إذا لزم الأمر
     php artisan vendor:publish --tag=botauth-views 

     php artisan vendor:publish --tag=botauth-migrations 

  4. تشير إلى اللازمة الاجتماعية. ربط الشبكات في config / botauth.php في معلمة الارتباط.
  5. ملء ملف ENV مع مفاتيح الروبوت
     BOTAUTH_VKONTAKTE_API_SECRET BOTAUTH_VKONTAKTE_API_TOKEN BOTAUTH_VKONTAKTE_API_CONFIRM BOTAUTH_TELEGRAM_API_TOKEN BOTAUTH_TELEGRAM_PROXY BOTAUTH_FACEBOOK_API_SECRET BOTAUTH_FACEBOOK_API_TOKEN BOTAUTH_FACEBOOK_API_CONFIRM 

  6. تشغيل الهجرات
     php artisan migrate 

  7. في Middleware VerifyCsrfToken إضافة استثناء عنوان لإعادة الاتصال ، الافتراضي هو botauth / callback / * '
     protected $except = [ 'botauth/callback/*' // Except callback Csrf middleware ]; 

  8. لطراز المستخدم الخاص بك ، أضف سمة:
     use ZetRider\BotAuth\Traits\BotAuthUserTrait; 

    والتي سوف تضيف علاقة مع تسجيلات دخول المستخدم من الاجتماعية. الشبكات


ربط السير:

فكونتاكتي
  1. افتح إعدادات المنتدى أو أنشئ vk.com/groups؟w=groups_create جديدًا
  2. في إعدادات المجتمع ، افتح قسم "الإعدادات" - "العمل مع واجهة برمجة التطبيقات"
  3. قم بإنشاء مفتاح مرور ، وحدد "السماح للتطبيق بالوصول إلى رسائل المجتمع" ، ثم اكتب المفتاح ، ويجب تحديده .env BOTAUTH_VKONTAKTE_API_TOKEN
  4. في نفس الصفحة ، حدد واجهة برمجة تطبيقات رد الاتصال ، وحدد "إصدار واجهة برمجة التطبيقات" 5.95 ، وحدد عنوان رد الاتصال لموقعك في حقل "العنوان" ، المثال الافتراضي
     https://DOMAIN/botauth/callback/vkontakte 
  5. أدناه ، يرجى الإشارة إلى السطر الذي يجب أن يعود إليه الخادم .env BOTAUTH_VKONTAKTE_API_CONFIRM
  6. في حقل "المفتاح السري" ، أدخل أي مفتاح سري ، حدد في .env BOTAUTH_VKONTAKTE_API_SECRET
  7. بعد ملء جميع المفاتيح في .env ، انقر فوق الزر "تأكيد"
  8. في نفس الصفحة ، افتح علامة التبويب "أنواع الأحداث" ، حدد "صندوق الوارد"
  9. افتح إعدادات المجتمع ، العنصر "الرسائل" ، قم بتمكين "رسائل المجتمع"
  10. افتح إعدادات المجتمع ، العنصر "رسائل" - "إعدادات للبوت" ، قم بتشغيل "ميزات البوت"

الروبوت مستعد للذهاب.

مثال على ارتباط مباشر لحوار مع الروبوت
 https://vk.me/zetcode 


برقية
  1. قم بإنشاء الروبوت الخاص بك عبرBotFather
  2. تذكر المفتاح ، حدد في .env BOTAUTH_TELEGRAM_API_TOKEN
  3. إضافة ربط الويب عبر
     https://api.telegram.org/botYOUR_TOKEN/setWebhook?url=https://DOMAIN/botauth/callback/telegram 

    استبدل YOUR_TOKEN برمزك ، DOMAIN بنطاقك
  4. إذا لزم الأمر ، حدد الخادم الوكيل في .env BOTAUTH_TELEGRAM_PROXY ، على سبيل المثال socks5h: //127.0.0.1: 1080

الروبوت مستعد للذهاب.

مثال على ارتباط مباشر لحوار مع الروبوت
 https://t.me/BotAuthBot 


الفيسبوك
  1. يجب أن تكون قد أنشأت صفحة ، إن لم تكن كذلك ، أضف www.facebook.com/pages/creation/؟ref_type=universal_creation_hub
  2. أضف التطبيق developers.facebook.com/apps الجديد
  3. في إعدادات التطبيق ، حدد "أساسي" ، وانسخ "سر التطبيق" إلى .env BOTAUTH_FACEBOOK_API_SECRET
  4. في إعدادات التطبيق تحتاج إلى إضافة المنتج "Messenger"
  5. في إعدادات المنتج "Messenger" ، قم بإنشاء رمز وصول ، حدده في .env BOTAUTH_FACEBOOK_API_TOKEN
  6. في إعدادات منتج Messenger ، قم بإنشاء ربط ويب ، حدد في URL رد الاتصال
     https://DOMAIN/botauth/callback/facebook 
    استبدل DOMAIN بنطاقك
  7. في حقل "تأكيد العلامة" ، حدد أي نص ، واحفظه في .env BOTAUTH_FACEBOOK_API_CONFIRM
  8. في خيارات "حقول الاشتراك" ، حدد "رسائل"
  9. انقر فوق تأكيد
  10. بعد تأكيد الخادم في إعدادات ربط الويب ، حدد الصفحة ، وانقر فوق "اشتراك"
  11. في نافذة "التحقق من تطبيق Messenger" ، بجوار "pages_messaging" ، انقر على "Add to Request"

الروبوت جاهز للعمل بالفعل ، ولكنه متاح للمسؤولين فقط.

بعد تأكيد التطبيق ، سوف يصبح متاحًا لجميع الزوار. تقديم الطلب للاعتدال.

مثال على ارتباط مباشر لحوار مع الروبوت
 https://m.me/zetridercode 


ومن المهم أن:

  1. يجب أن يعمل الموقع على https
  2. يقوم برنامج bot الخاص بفيسبوك بإرجاع PSID لا يطابق معرف المستخدم العمومي.
  3. بشكل افتراضي ، تعمل وحدة التحكم bot مع طراز \ App \ User. إذا كانت لديك حالة مختلفة ، فقم فقط بإنشاء وحدة التحكم والنموذج استنادًا إلى أمثلة من المستودع. نموذج ، المراقب المالي

كيفية إضافة مزودك:

قم بإنشاء فصلك الذي يرث فصلاً مجردة

 ZetRider\BotAuth\AbstractProvider 

مثال مثال / ExampleProvider.php

أضف موفرًا للخدمة ، على سبيل المثال ، AppServiceProvider في طريقة التمهيد

 // Register example proider BotAuth::extend('example', function() { return new \Path\To\Your\Class\ExampleProvider(); }); 

سيقوم الموفر بمعالجة الطلبات في رد اتصال على

 https://.../botauth/callback/example 

أحداث

حدث على معالجة ناجحة لرسالة جديدة من الروبوت

 // Catch bot callback \Event::listen(\ZetRider\BotAuth\Events\MessageNewEvent::class, function($event) { $provider = $event->provider; // ZetRider\BotAuth\AbstractProvider $slug = $provider->getProviderSlug(); $data = $provider->getCallbackResponse(); $user = $provider->getUser(); $text = $provider->getText(); // You can send a message // $provider->sendMessage(__('Back to web site')); }); 

Source: https://habr.com/ru/post/ar455104/


All Articles