BotAuth-一个软件包,可让您使用机器人Vkontakte,FaceBook和Telegram登录。
BotAuth的主要目标是简化通过社交网络访问网站/ PWA的访问者。
虽然社交。 网络无法从本地移动应用程序向网站提供反馈,开发人员必须将用户发送到浏览器,在浏览器中,他们再次需要输入用户名和密码。
使用漫游器,您可以从本机应用程序获得反馈(回调),从而不必强制输入社交用户名和密码。 浏览器中的网络。
演示-https:
//laravel.zetrider.ru/botauthGitHub-
https://github.com/zetrider/BotAuth形式的链接:
https://vk.me/ https://t.me/ https://m.me/
打开移动应用程序以开始与机器人进行对话。 访客无需在浏览器中重新输入用户名和密码。
您可以连接机器人:
- Vkontakte
- 电报
- 脸书
- 您自己的提供者(以下示例)
安装方式- 作曲家需要Zetrider / botauth
- 将包连接到config / app.php
提供者
ZetRider\BotAuth\BotAuthServiceProvider::class,
外立面
'BotAuth' => ZetRider\BotAuth\Facades\BotAuth::class,
- 复制配置。 档案
php artisan vendor:publish --tag=botauth-config
如果有必要
php artisan vendor:publish --tag=botauth-views
php artisan vendor:publish --tag=botauth-migrations
- 表示必要的社交。 网络链接参数config / botauth.php中的链接。
- 用漫游器密钥填充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
- 运行迁移
php artisan migrate
- 在Middleware VerifyCsrfToken中为回调添加地址异常,默认为botauth / callback / *'
protected $except = [ 'botauth/callback/*'
- 对于您的用户模型,添加一个特征:
use ZetRider\BotAuth\Traits\BotAuthUserTrait;
这将与来自社交网络的用户登录建立联系。 网路
连接机器人:Vkontakte- 打开您的社区设置或创建新的vk.com/groups?w=groups_create
- 在社区设置中,打开“设置”部分-“使用API”
- 创建一个密码,选择“允许应用程序访问社区消息”,写下密码,必须在.env中指定。BOTAUTH_VKONTAKTE_API_TOKEN
- 在同一页面上,选择Callback API,选择“ API Version” 5.95 ,在“ Address”字段中指定站点的回调地址,默认示例
https://DOMAIN/botauth/callback/vkontakte
- 在下面指定服务器应返回到.env的行。BOTAUTH_VKONTAKTE_API_CONFIRM
- 在“秘密密钥”字段中,输入任何秘密密钥,在.env中指定BOTAUTH_VKONTAKTE_API_SECRET
- 填写.env中的所有键后,单击“确认”按钮
- 在同一页面上,打开“事件类型”选项卡,选择“收件箱”
- 打开社区设置,在“消息”项下,启用“社区消息”
- 打开社区设置,在“消息”-“机器人的设置”项目中,打开“启动功能”
该机器人已准备就绪。
直接链接到与机器人对话的示例
https://vk.me/zetcode
电报- 通过@BotFather创建您的机器人
- 记住密钥,在.env中指定BOTAUTH_TELEGRAM_API_TOKEN
- 通过添加网络挂钩
https://api.telegram.org/botYOUR_TOKEN/setWebhook?url=https://DOMAIN/botauth/callback/telegram
将您的令牌替换为YOUR_TOKEN,将您的域替换为DOMAIN - 如有必要,请在.env BOTAUTH_TELEGRAM_PROXY中指定代理,例如socks5h://127.0.0.1:1080
该机器人已准备就绪。
直接链接到与机器人对话的示例
https://t.me/BotAuthBot
脸书- 您必须已创建一个页面,否则请添加www.facebook.com/pages/creation/?ref_type=universal_creation_hub
- 添加新的developers.facebook.com/apps应用
- 在应用程序设置中,选择“基本”,将“应用程序机密”复制到.env BOTAUTH_FACEBOOK_API_SECRET
- 在应用程序设置中,您需要添加产品“ Messenger”
- 在“ Messenger”产品设置中,创建访问令牌,并在.env中指定它。BOTAUTH_FACEBOOK_API_TOKEN
- 在Messenger产品的设置中,创建一个Web挂钩,在回调URL中指定
https://DOMAIN/botauth/callback/facebook
用您的域替换DOMAIN - 在“确认标记”字段中,指定任何文本,然后将其保存在.env中。BOTAUTH_FACEBOOK_API_CONFIRM
- 在“订阅字段”选项中,选择“消息”
- 点击确认
- 在Web挂钩设置中确认服务器后,选择页面,单击“订阅”
- 在“检查Messenger应用程序”窗口中,在“ pages_messaging”旁边,单击“添加到请求”
该机器人已经可以工作了,但仅对管理员可用。
确认申请后,所有访客都可以使用。 提交申请以进行审核。
直接链接到与机器人对话的示例
https://m.me/zetridercode
重要说明:- 该网站应在https上运行
- Facebook机器人返回的PSID与公共用户ID不匹配。
- 默认情况下,bot控制器与\ App \ User模型一起使用。 如果您的情况不同,只需根据存储库中的示例创建控制器和模型。 模型 , 控制器
如何添加您的提供者:创建继承抽象类的类
ZetRider\BotAuth\AbstractProvider
示例
示例/ ExampleProvider.php将提供程序添加到服务中,例如,引导方法中的AppServiceProvider
提供者将在以下位置的回调中处理请求
https://.../botauth/callback/example
大事记机器人成功处理新消息的事件