Download the PHP package rafalniewinski/silex-steamauth without Composer
On this page you can find all versions of the php package rafalniewinski/silex-steamauth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rafalniewinski/silex-steamauth
More information about rafalniewinski/silex-steamauth
Files in rafalniewinski/silex-steamauth
Package silex-steamauth
Short Description Steam Community authorizaion provider for Silex with SecurityServiceProvider
License MIT
Homepage https://github.com/RafalNiewinski/Silex-SteamAuth
Informations about the package silex-steamauth
This version is for Silex ~2.0
(version for Silex ~1.3 is available in another branch)
Silex-SteamAuth
Steam Community authorizaion provider for Silex PHP framework with SecurityServiceProvider.
Installation
If you want to install with Composer:
Alternatively, you can clone this repository:
Usage
This library uses a standard SecurityServiceProvider module. Be sure to read the operating instructions for this module:
http://silex.sensiolabs.org/doc/providers/security.html
Using Steam as authorization provider is similar to "Securing a Path with a Form" paragraph except that the form is replaced with a OpenID and Steam Community mechanism.
Registering
Use this to register your SteamAuthServiceProvider and core SecurityServiceProvider:
If you read carefully you'll notice that the registration of SecurityServiceProvider component is the same as securing using form in original Silex tutorial except for one line 'form' was replaced with 'steam_auth'.
'check_path' option works the same as in the form authorization (must be defined in secured firewall area)
IMPORTANT: Login path is permanently set to /login and must be accessible anonymously or be outside firewall
Interaction
If you want to sign in user, please redirect him to /login
If you want to get Steam ID of signed in user, execute:
Be careful because if user isn't signed in getToken()
or getUser()
can return null
Defining User Provider
Silex-SteamAuth is compatible with standard UserProviderInterface but you must use user SteamID as Username.
Despite compatibility, it is recommended for convenience use a dedicated SteamAuthUserProviderInterface which includes loadUserBySteamId() method.
Here is a SteamAuth edited simple example of a user provider, where Doctrine DBAL is used to store the users:
Of course you can extend SteamAuthUser class and expand it freely