benji07 / sso-bundle
An SSO firewall for Symfony2
Installs: 118
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 1
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.3.2
- fp/lightopenid: dev-master
- sensio/buzz-bundle: *
- symfony/framework-bundle: >=2.1,<2.3-dev
This package is not auto-updated.
Last update: 2024-10-26 14:20:56 UTC
README
Step 1: Download the bundle using composer
"require": { "benji07/sso-bundle": "*" }
Alternative Step 1: Download the bundle using the vendors script
[Buzz]
git=https://github.com/kriswallsmith/Buzz.git
version=v0.5
[BuzzBundle]
git=https://github.com/sensio/SensioBuzzBundle.git
target=/bundles/Sensio/Bundle/BuzzBundle
[LightOpenId]
git=git://gitorious.org/lightopenid/lightopenid.git
target=/lightopenid
[Benji07SSoBundle]
git=https://github.com/benji07/Benji07SsoBundle.git
target=/bundles/Benji07/SsoBundle
Step 2: Routing Configuration
Benji07SsoBundle:
resource: "@Benji07SsoBundle/Resources/config/routing.yml"
Step 3: Security Configuration
firewalls: sso: pattern: ^/sso/login/ security: false main: sso: check_path: /sso/login_check
Step 4: Application configuration
benji07_sso: user_manager: your_user_manager.id providers: steam: service: benji07.sso.provider.steam options: apiKey: %steam_apiKey%
Step 5: Create an user manager
Create a class that implements UserManagerInterface and declare it as a service
- findUser: find a user using the provider name and informations send by the provider
- createUser: create a user or return a response to handle the user registration on a different way (providers data is set in session on sso_user)
Create new provider
There is a few provider defined by default, but if you need you could extends OAuth or OpenId providers or implements the ProviderInterface
Add a link to login
<a href="{{ path('_sso_login', {name: 'steam'}) }}">Login with steam</a>