fatigba/symfony-social-login-bundle
Composer 安装命令:
composer require fatigba/symfony-social-login-bundle
包简介
Un bundle symfony simple pour se connecter avec des fournisseurs OAuth2 (Google, Facebook, ... etc).
README 文档
README
Installation
composer require fatigba/symfony-social-login-bundle
Configuration des bundles
Dans votre fichier de configuration config/bundles.php, ajouter les entrées suivantes:
KnpU\OAuth2ClientBundle\KnpUOAuth2ClientBundle::class => ['all' => true]
JFK\SocialLogin\SocialLoginBundle::class => ['all' => true]
Configuration des fournisseurs OAuth2
Créer le fichier config/packages/knpu_oauth2_client.yaml s'il n'existe pas.
Ajoutez y ensuite les lignes suivantes:
knpu_oauth2_client: clients:
Le cas de Google
Pour configurer le client OAuht2 de Google, veuillez ajouter ce qui suit dans votre fichier de configuration,
knpu_oauth2_client: clients: google: type: google client_id: xxxx client_secret: xxxx redirect_route: connect_google_check
Vous obtiendrez des valeurs pour client_id et client_secret en créant un ID client OAuth.
Console Google --> API et Services --> Identifiants --> Créer des identifiants --> ID client OAuth
Injection de dépendances et découverte de services
Il s'agit de donner, impérativement un alias aux guards et de permettre l'injection de dépendances dans les controlleurs du bundles
config/services.yaml
services: JFK\SocialLogin\Google\Controller\: resource: '../vendor/fatigba/symfony-social-login-bundle/src/SocialLogin/Google/Controller' tags: ['controller.service_arguments'] ................. ................. ................. jfk.sociallogin.google: class: JFK\SocialLogin\Google\Security\GoogleAuthenticator
Ensuite pour activer la détection des routes du controlleur, il faut activer la détection des routes dans routes/annotations.yaml:
google_social_login_controllers: resource: ../../vendor/fatigba/symfony-social-login-bundle/src/SocialLogin/Google/Controller type: annotation
Configuration de la sécurité
Les guard
La recherche de l'utilisateur symfony se fait sur l'email en utilisant FOSUser. Les classes de guard sont:
JFk\SocialLogin\Google\Security\GoogleAuthenticator
En cas d'échec on est rediriger vers l'url /login
Le fichier security.yaml
Dans le firewall adéquats, ajoutez les guards dont vous avez besoin:
guard: authenticators: - jfk.sociallogin.google
Ajouter les controles d'accès suivants:
access_control: - { path: ^/sociallogin/google, role: IS_AUTHENTICATED_ANONYMOUSLY }
Les controlleurs de connexion
Le cas de Google (JFk\SocialLogin\Google\Controller)
Ce controlleur contient deux routes:
@Route("/sociallogin/google", name="connect_google")
Cette route fait une redirection vers la page d'authentification de google.
@Route("/sociallogin/google/check", name="connect_google_check")
C'est la route vers laquelle il faut faire la redirection après l'authentification de google.
Elle se charge de connecter l'utilisateur symfony et de le rediriger vers la route homepage.
fatigba/symfony-social-login-bundle 适用场景与选型建议
fatigba/symfony-social-login-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 02 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 fatigba/symfony-social-login-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 fatigba/symfony-social-login-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-02-07