athlan / revive-symfony-security-bundle
Banner Google Web Designer hosting tool
Installs: 19
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: 6.2.0
- lstrojny/fxmlrpc: 0.12.0
- php-http/guzzle6-adapter: 1.1.1
- php-http/message: 1.2.0
- symfony/security: 3.1.*
- zendframework/zend-diactoros: 1.3.5
Requires (Dev)
- mockery/mockery: 0.9.5
- phpunit/phpunit: 5.4.*
This package is auto-updated.
Last update: 2024-10-29 04:59:11 UTC
README
This bundle allows you to enable Symfony Security authentication by providing Revive Aderver credentials.
It allow you to build custom tools around Revive in Symfony Framework.
Installation
- Add composer dependency
"require": {
// ...
"athlan/revive-symfony-security-bundle": "1.0.0"
// ...
},
- Add bundle to
AppKernel.php
public function registerBundles()
{
$bundles = [
// ...
new Revive\ReviveAuthenticationBundle\ReviveAuthenticationBundle(),
// ...
- Define several services in your container:
services:
# create user session repository service
revive_user_sessions:
parent: revive_authentication.repository.user_session.xml_rpc
arguments:
# you can provide here custom configured xml_rpc client or get the existing pre-configured one
- "@revive_authentication.xml_rpc.client"
# address to your Revive xml-rpc
# Example: http://domain.com/www/api/v2/xmlrpc/
# you can use parameter mechanism here
- "%revive_service_url%"
# create form-autehnticacor that exchanges UsernamePasswordToken from user provided form
# to ReviveAuthenticationToken
revive_authenticator:
parent: revive_authentication.authenticator.login_form_authenticator
arguments: ["@revive_user_sessions"]
# create logout listener to destroy remote sessions (optional, but recommended)
revive_authenticator_logout_handler:
parent: revive_authentication.authenticator.logout_handler
arguments: ["@revive_user_sessions"]
- Configure security.yml
security:
# regiter Revive user provider
providers:
revive:
id: revive_authentication.user_provider.revive_user_prototype
firewalls:
main:
anonymous: ~
simple_form:
# regiter Revive form authenticator
authenticator: revive_authenticator
check_path: /login
login_path: /login
csrf_token_generator: security.csrf.token_manager
logout:
path: /logout
target: /
handlers: [ revive_authenticator_logout_handler ]
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: IS_AUTHENTICATED_FULLY }