kolyya / oauth-bundle
Oauth
dev-master / 0.1.x-dev
2019-01-26 14:34 UTC
Requires
- php: ^5.5.9 || ^7.0
- friendsofsymfony/user-bundle: ^2.0
- hwi/oauth-bundle: 0.6.*|dev-master
- symfony/asset: ^3.2 || ^4.0
- symfony/framework-bundle: ^3.0 || ^4.0
- symfony/security-bundle: ^3.0 || ^4.0
- symfony/twig-bundle: ^3.0 || ^4.0
This package is not auto-updated.
Last update: 2024-09-27 09:01:24 UTC
README
包 - hwi/oauth-bundle 和 friendsofsymfony/user-bundle 的包装器
创建社交媒体登录和连接/断开账户按钮,将社交媒体数据(姓名、姓氏、电话等)记录到数据库中
目前支持: Vkontakte Facebook Odnoklassniki Mailru Google
安装
-
安装并配置
friendsofsymfony/user-bundle
-
安装并配置
hwi/oauth-bundle
使用 Symfony Flex 的应用程序
打开命令行,进入您的项目目录并执行
$ composer require <package-name>
未使用 Symfony Flex 的应用程序
第 1 步:下载包
打开命令行,进入您的项目目录并执行以下命令以下载此包的最新稳定版本
$ composer require <package-name>
此命令要求您全局安装 Composer,如 Composer 文档中的安装章节中所述。
第 2 步:启用包
然后,通过将其添加到项目 app/AppKernel.php
文件中注册的包列表中,来启用包
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new <vendor>\<bundle-name>\<bundle-long-name>(), ); // ... } // ... }
集成
在 config/services.yaml
中将服务设置为公开
services: # ... Kolyya\OAuthBundle\Security\Core\User\OAuthUserProvider public: true
并在 config/packages/security.yaml
中设置它
security: # ... firewalls: # ... main: # ... oauth: # ... oauth_user_provider: service: Kolyya\OAuthBundle\Security\Core\User\OAuthUserProvider # ...
并在 hwi_oauth
的配置中
hwi_oauth: # ... connect: account_connector: Kolyya\OAuthBundle\Security\Core\User\OAuthUserProvider # ...
配置
用户实体配置
从 Kolyya\OAuthBundle\Entity\OAuthUser 继承 User
// src/Entity/User.php // ... use Kolyya\OAuthBundle\Entity\OAuthUser; // ... class User extends OAuthUser { // ...
添加用于存储社交媒体数据的属性
// src/Entity/User.php // ... class User extends OAuthUser { // ... /** * @ORM\Column(type="json_array", nullable=true) */ protected $vkontakteData; /** * @ORM\Column(type="string", length=128, nullable=true) */ protected $vkontakteId; /** * @return mixed */ public function getVkontakteData() { return $this->vkontakteData; } /** * @param mixed $vkontakteData */ public function setVkontakteData($vkontakteData) { $this->vkontakteData = $vkontakteData; } /** * @return mixed */ public function getVkontakteId() { return $this->vkontakteId; } /** * @param mixed $vkontakteId */ public function setVkontakteId($vkontakteId) { $this->vkontakteId = $vkontakteId; } // ... }
在登录页面添加按钮
{# templates/bundles/FOSUserBundle/Security/login.html.twig #} {# ... #} {{ kolyya_oauth_buttons() }} {# ... #}
在用户个人资料页面添加按钮
{# templates/bundles/FOSUserBundle/Profile/show_content.html.twig #} {# ... #} {{ kolyya_connect_buttons() }} {# ... #}
添加路由
# config/routes.yaml # ... kolyya_oauth: resource: "@KolyyaOAuthBundle/Resources/config/routing.yml" prefix: /
并删除 hwi_oauth_
路由
配置
order
- 可用社交媒体的顺序和列表
order: ['vkontakte', 'facebook', 'odnoklassniki','mailru','google']
assets.soc_auth_stylesheet
- 登录按钮样式文件