softspring / user-bundle
A complete user bundle
Package info
github.com/softspring/user-bundle
Type:symfony-bundle
pkg:composer/softspring/user-bundle
Requires
- php: >=8.1
- ext-json: *
- doctrine/doctrine-bundle: ^2.10
- doctrine/orm: ^3.3 | ^4.0
- softspring/crudl-controller: ^5.5
- softspring/doctrine-paginator: ^5.5
- softspring/doctrine-query-filters: ^5.5
- softspring/doctrine-target-entity-resolver: ^5.5
- softspring/events: ^5.5
- softspring/mime-translatable: ^5.5
- softspring/permissions-bundle: ^5.5
- softspring/twig-extra-bundle: ^5.5
- symfony/http-foundation: ^5.4|^6.0|^7.0
- symfony/http-kernel: ^5.4|^6.0|^7.0
- symfony/security-bundle: ^5.4|^6.0|^7.0
- symfony/translation: ^5.4|^6.0|^7.0
- symfony/twig-bundle: ^5.4|^6.0|^7.0
- symfony/validator: ^5.4|^6.0|^7.0
- symfony/yaml: ^5.4|^6.0|^7.0
Requires (Dev)
- doctrine/doctrine-fixtures-bundle: ^3.4
- fakerphp/faker: ^1.21
- friendsofphp/php-cs-fixer: ^3.68
- hwi/oauth-bundle: ^2.0
- phpstan/phpstan: ^1.10
- rector/rector: ^1.0
- softspring/account-bundle: ^5.5
- softspring/doctrine-templates: ^5.5
- softspring/mailer-bundle: ^5.5
- softspring/media-bundle: ^5.5
- symfony/browser-kit: ^5.4|^6.0|^7.0
- symfony/css-selector: ^5.4|^6.0|^7.0
- symfony/dom-crawler: ^5.4|^6.0|^7.0
- symfony/form: ^5.4|^6.0|^7.0
- symfony/http-client: ^5.4|^6.0|^7.0
- symfony/mailer: ^5.4|^6.0|^7.0
- symfony/phpunit-bridge: ^5.4|^6.0|^7.0
Suggests
- hwi/oauth-bundle: Integrate oauth clients
- softspring/mailer-bundle: Integrates with softspring's mailer bundle
- softspring/media-bundle: Stores media files for avatars
- 6.0.x-dev
- 5.5.x-dev
- v5.5.7
- v5.5.6
- v5.5.5
- v5.5.4
- v5.5.3
- v5.5.2
- v5.5.1
- v5.5.0
- v5.5.0-rc9
- v5.5.0-rc8
- v5.5.0-rc7
- v5.5.0-rc6
- v5.5.0-rc5
- v5.5.0-rc4
- v5.5.0-rc3
- v5.5.0-rc2
- v5.5.0-rc1
- 5.4.x-dev
- v5.4.14
- v5.4.13
- v5.4.12
- v5.4.11
- v5.4.10
- v5.4.9
- v5.4.8
- v5.4.7
- v5.4.6
- v5.4.5
- v5.4.4
- v5.4.3
- v5.4.2
- v5.4.1
- v5.4.0
- v5.4.0-rc6
- v5.4.0-rc5
- v5.4.0-rc4
- v5.4.0-rc3
- v5.4.0-rc2
- v5.4.0-rc1
- v5.4.0-beta6
- v5.4.0-beta5
- v5.4.0-beta4
- v5.4.0-beta3
- v5.4.0-beta2
- v5.4.0-beta1
- v5.4.0-alpha10
- v5.4.0-alpha9
- v5.4.0-alpha8
- v5.4.0-alpha3
- v5.4.0-alpha2
- v5.4.0-alpha1
- 5.3.x-dev
- v5.3.15
- v5.3.14
- v5.3.13
- v5.3.12
- v5.3.11
- v5.3.10
- v5.3.9
- v5.3.8
- v5.3.7
- v5.3.6
- v5.3.5
- v5.3.4
- v5.3.3
- v5.3.2
- v5.3.1
- v5.3.0
- v5.3.0-rc9
- v5.3.0-rc8
- v5.3.0-rc7
- v5.3.0-rc6
- v5.3.0-rc5
- v5.3.0-rc4
- v5.3.0-rc3
- v5.3.0-rc2
- v5.3.0-rc1
- v5.3.0-beta4
- v5.3.0-beta3
- v5.3.0-beta2
- v5.3.0-beta1
- v5.3.0-alpha21
- 5.2.x-dev
- v5.2.7
- v5.2.6
- v5.2.5
- v5.2.4
- v5.2.3
- v5.2.2
- v5.2.1
- v5.2.0
- v5.2.0-rc10
- v5.2.0-rc9
- v5.2.0-rc8
- v5.2.0-rc7
- v5.2.0-rc6
- v5.2.0-rc5
- v5.2.0-rc4
- v5.2.0-rc1
- 5.1.x-dev
- v5.1.25
- v5.1.24
- v5.1.23
- v5.1.22
- v5.1.21
- v5.1.20
- v5.1.19
- v5.1.18
- v5.1.17
- v5.1.16
- v5.1.15
- v5.1.14
- v5.1.13
- v5.1.12
- v5.1.11
- v5.1.10
- v5.1.9
- v5.1.8
- v5.1.7
- v5.1.6
- v5.1.5
- v5.1.2
- v5.1.1
- v5.1.0
- v5.0.6
- v5.0.5
- v5.0.4
- v5.0.3
- v5.0.2
- v5.0.1
- v5.0.0
- v5.0.0-rc1
- v5.0.0-beta1
- v5.0.0-alpha4
- v5.0.0-alpha3
- v5.0.0-alpha2
- v5.0.0-alpha1
- 4.1.0
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- v2.2.6
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.2.4
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.1
- v1.0.0
- dev-mailer-exceptions
- dev-detached
- dev-COP-49-Change-text
This package is auto-updated.
Last update: 2026-05-06 11:53:10 UTC
README
A complete user bundle for Symfony applications, including user authentication flows, settings pages, invitations, and admin user management screens.
Armonic
This package is part of Armonic.
Documentation
Optional Google Identity Platform Login
This bundle can render Google Sign-In on the login page and sync users with Google Identity Platform.
The feature is optional.
1. Add the optional fields to your user entity
Use the trait and interface only if you enable this feature.
use Softspring\UserBundle\Entity\GoogleIdentityPlatformTrait; use Softspring\UserBundle\Model\GoogleIdentityPlatformAwareInterface; class User extends UserModel implements GoogleIdentityPlatformAwareInterface { use GoogleIdentityPlatformTrait; }
You will usually also want these existing optional contracts:
UserIdentifierEmailInterfaceNameSurnameInterfaceUserLastLoginInterfaceUserAvatarInterfaceConfirmableInterface
2. Import the routes you want to expose
Create a dedicated route import in your application:
_sfs_user_google_identity_platform: resource: '@SfsUserBundle/config/routing/login_google_identity_platform.yaml' prefix: /auth/google
With that prefix, the callback URL will be /auth/google/callback.
3. Enable the feature in sfs_user
sfs_user: login: google_identity_platform: enabled: true client_id: '%env(default::GOOGLE_CLIENT_ID)%' api_key: '%env(default::IDENTITY_PLATFORM_API_KEY)%' tenant_id: '%env(default::IDENTITY_PLATFORM_TENANT_ID)%' success_route: app_home failure_route: sfs_user_login
4. Configure Google
The Google OAuth web client must allow:
- your login origin, for example
https://example.test - the callback URL from the imported route, for example
https://example.test/auth/google/callback
The client_id must be a Google web client id ending with .apps.googleusercontent.com.
Notes
- The login page only renders the Google widget when the feature is enabled.
- If the routes are not imported, the login page shows a warning instead of rendering a broken button.
- The backend exchange uses
IDENTITY_PLATFORM_API_KEY. tenant_idis optional.
Contributing
See CONTRIBUTING.md.
Report issues and send Pull Requests
Security
See SECURITY.md.
License
This package is free and released under the AGPL-3.0 license.