
BotAuth - un package qui vous permet de vous connecter en utilisant le bot Vkontakte, FaceBook, Telegram.
L'objectif principal de BotAuth est de simplifier les visiteurs des sites Web / connexion PWA via les réseaux sociaux.
Bien que social. Les réseaux ne fournissent pas de commentaires des applications mobiles natives à un site Web; les développeurs doivent envoyer un utilisateur à un navigateur, où ils doivent saisir à nouveau leur identifiant et leur mot de passe.
En utilisant des bots, vous pouvez obtenir des commentaires (rappel) de l'application native, ne forçant ainsi pas à entrer le nom d'utilisateur et le mot de passe du social. réseau dans le navigateur.
Démo -
https://laravel.zetrider.ru/botauthGitHub -
https://github.com/zetrider/BotAuthLiens du formulaire:
https://vk.me/ https://t.me/ https://m.me/
ouvrez une application mobile pour entamer un dialogue avec le bot. Le visiteur n'aura pas Ă ressaisir le nom d'utilisateur et le mot de passe dans le navigateur.
Vous pouvez connecter des bots:
- Vkontakte
- Télégramme
- Facebook
- Votre propre fournisseur (exemple ci-dessous)
L'installation- compositeur nécessite zetrider / botauth
- Connectez le package dans config / app.php
Fournisseur
ZetRider\BotAuth\BotAuthServiceProvider::class,
Façade
'BotAuth' => ZetRider\BotAuth\Facades\BotAuth::class,
- Copiez la configuration. fichier
php artisan vendor:publish --tag=botauth-config
si nécessaire
php artisan vendor:publish --tag=botauth-views
php artisan vendor:publish --tag=botauth-migrations
- Indiquez pour le social nécessaire. réseaux lien dans config / botauth.php dans le paramètre lien.
- Remplissez le fichier ENV avec des clés de bot
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
- Exécuter des migrations
php artisan migrate
- Dans Middleware VerifyCsrfToken, ajoutez une exception d'adresse pour le rappel, la valeur par défaut est botauth / callback / * '
protected $except = [ 'botauth/callback/*'
- Pour votre modèle utilisateur, ajoutez un trait:
use ZetRider\BotAuth\Traits\BotAuthUserTrait;
ce qui ajoutera une relation avec les connexions utilisateur à partir du social. réseaux
Connecter les bots:Vkontakte- Ouvrez les paramètres de votre communauté ou créez un nouveau vk.com/groups?w=groups_create
- Dans les paramètres de la communauté, ouvrez la section "Paramètres" - "Travailler avec l'API"
- Créez un mot de passe, sélectionnez "Autoriser l'application à accéder aux messages de la communauté", notez la clé, elle doit être spécifiée dans .env BOTAUTH_VKONTAKTE_API_TOKEN
- Sur la même page, sélectionnez l'API de rappel, sélectionnez «Version API» 5.95 , spécifiez l'adresse de rappel de votre site dans le champ «Adresse», exemple par défaut
https://DOMAIN/botauth/callback/vkontakte
- Ci-dessous, spécifiez la ligne vers laquelle le serveur doit retourner .env BOTAUTH_VKONTAKTE_API_CONFIRM
- Dans le champ "Clé secrète", entrez une clé secrète, spécifiez en .env BOTAUTH_VKONTAKTE_API_SECRET
- Après avoir rempli toutes les clés en .env, cliquez sur le bouton "Confirmer"
- Sur la même page, ouvrez l'onglet «Types d'événements», sélectionnez «Boîte de réception»
- Ouvrez les paramètres de la communauté, l'élément "Messages", activez les "messages de la communauté"
- Ouvrez les paramètres de la communauté, l'élément "Messages" - "Paramètres du bot", activez "Fonctionnalités du bot"
Le bot est prĂŞt Ă partir.
Un exemple de lien direct vers un dialogue avec un bot
https://vk.me/zetcode
Télégramme- Créez votre bot via @BotFather
- N'oubliez pas la clé, spécifiez en .env BOTAUTH_TELEGRAM_API_TOKEN
- Ajouter un hook Web via
https://api.telegram.org/botYOUR_TOKEN/setWebhook?url=https://DOMAIN/botauth/callback/telegram
remplacez YOUR_TOKEN par votre jeton, DOMAIN par votre domaine - Si nécessaire, spécifiez le proxy dans .env BOTAUTH_TELEGRAM_PROXY , par exemple socks5h: //127.0.0.1: 1080
Le bot est prĂŞt Ă partir.
Un exemple de lien direct vers un dialogue avec un bot
https://t.me/BotAuthBot
Facebook- Vous devez avoir créé une page, si ce n'est pas le cas, ajoutez www.facebook.com/pages/creation/?ref_type=universal_creation_hub
- Ajoutez la nouvelle application developers.facebook.com/apps
- Dans les paramètres de l'application, sélectionnez «De base», copiez le «Secret d'application» dans .env BOTAUTH_FACEBOOK_API_SECRET
- Dans les paramètres de l'application, vous devez ajouter le produit "Messenger"
- Dans les paramètres du produit «Messenger», créez un jeton d'accès, spécifiez-le dans .env BOTAUTH_FACEBOOK_API_TOKEN
- Dans les paramètres du produit Messenger, créez un hook web, spécifiez dans l'URL de rappel
https://DOMAIN/botauth/callback/facebook
remplacez DOMAIN par votre domaine - Dans le champ "Confirmer le marqueur", spécifiez n'importe quel texte, enregistrez-le dans .env BOTAUTH_FACEBOOK_API_CONFIRM
- Dans les options "Champs d'abonnement", sélectionnez "messages"
- Cliquez sur Confirmer
- Après avoir confirmé le serveur dans les paramètres de connexion Web, sélectionnez la page, cliquez sur "S'abonner"
- Dans la fenêtre «Vérifier l'application Messenger», à côté de «pages_messaging», cliquez sur «Ajouter à la demande»
Le bot est déjà prêt à fonctionner, mais n'est disponible que pour les administrateurs.
Après avoir confirmé l'application, elle sera disponible pour tous les visiteurs. Soumettez la demande de modération.
Un exemple de lien direct vers un dialogue avec un bot
https://m.me/zetridercode
Important:- Le site devrait fonctionner sur https
- Le bot Facebook renvoie un PSID qui ne correspond pas Ă l'ID utilisateur public.
- Par défaut, le contrôleur de bot fonctionne avec le modèle \ App \ User. Si vous avez un cas différent, créez simplement votre contrôleur et votre modèle à partir d'exemples du référentiel. Modèle , contrôleur
Comment ajouter votre fournisseur:Créez votre classe qui hérite d'une classe abstraite
ZetRider\BotAuth\AbstractProvider
Exemple d'
exemple / ExampleProvider.phpAjoutez un fournisseur au service, par exemple AppServiceProvider dans la méthode de démarrage
Le fournisseur traitera les demandes lors d'un rappel Ă
https://.../botauth/callback/example
Les événementsÉvénement sur le traitement réussi d'un nouveau message du bot