requestum/user-single-session-bundle
DESCRIPTION
RequestumUserSingleSessionBundle logout user if under his account entered again., (*1)
RequestumUserSingleSessionBundle is storage agnostic, meaning it can work with several storage mechanisms.
Bundle works with User entity. You may use a Custom implementation of User class, or one based on the FOSUserBundle., (*2)
INSTALLATION
Use composer to manage your dependencies and download RequestumUserSingleSessionBundle., (*3)
Add this code to you composer.json file:, (*4)
"require": {
...
"requestum/user-single-session-bundle": "dev-master"
}
And add this code to repository section:, (*5)
"repositories": [
...
{
"type": "git",
"url": "git@gitlab.requestum.com:yadviha.khoshtaria/single-session-bundle.git"
}
]
Then only run composer update or php composer.phar update command in root of your project., (*6)
CONFIGURATION
YAML:, (*7)
requestum_user_single_session:
storage: ???
failure_action:
type: ???
template: ???
DOCUMENTATION
Option storage:
Option storage is configure what storage you want use for storing tokens.
By default allow two values: memcached and entity. If option had not set by default using entity value., (*8)
requestum_user_single_session:
storage: ???
...
If you chose entity storage. You User entity must implements SingleSessionUserInterface, (*9)
If you chose memcached storage. You must add to you parameters.yml next code:, (*10)
# Default host and port for memcached
memcached.servers:
...
- { host: 127.0.0.1, port: 11211 }
...
If you want using you own storage? you only need create service that is implementation of TokenIdManagerInterface
and write its id in storage: option., (*11)
Option failure_action:
Option failure_action is configure what must doing bundle if user account re-authorized.
Option type is required and can takes logout or view values., (*12)
requestum_user_single_session:
failure_action:
# Required option
type:
# Required if choose 'view' type
template:
Option template: required if choose type: view and accepts a template address., (*13)
If you chose logout type, you must have logout route in you application., (*14)