zoopcommerce / gateway-module
Zend Framework 2 module that extends zoop's Shard Module with authentication services
Requires
- php: >=5.4
- doctrine/annotations: dev-master#a11349d39d85bef75a71bd69bd604ac4fb993f03 as dev-master
- doctrine/doctrine-module: 1.0.x-dev as 1.0
- doctrine/doctrine-mongo-odm-module: 1.0.x-dev
- doctrine/mongodb-odm: dev-hotfix719 as 1.0.0-BETA9
- zendframework/zendframework: 2.3.1
- zoopcommerce/gomi-module: ~2.1
Requires (Dev)
- pdepend/pdepend: 1.1.1
- phpmd/phpmd: 1.5.*
- phpunit/phpunit: >=3.7
- squizlabs/php_codesniffer: 1.4.*
This package is not auto-updated.
Last update: 2024-11-04 15:40:46 UTC
README
Zend Framework 2 module that extends zoop's Shard Module with authentication services. Provides:
- Stateful authentication once per session (for stateful services, such as a website with login form)
- Secure remember me cookies for long lasting authentication across sessions
- Stateless authentication once per request (for stateless services, such as a REST api)
Install
Add the following to your composer root:
"require": {
"zoopcommerce/gateway-module" : "~1.0"
}
Add the module to your application config:
'modules' => [
'Zoop\GatewayModule'
],
Configuration
See config/module.config.php
for config options.
Per Session Use
Requires per-session to be enabled in the module config.
To login, send the following request:
http://mysite.com/rest/authenticated-user
POST
Content: '{"username": <username>, "password": <password>}'
Accept: application/json
Content-type: application/json
On successful login, request will return the authenticated user object as json. On login fail, will return an error as json.
To logout, send the following request:
http://mysite.com/rest/authenticated-user
DELETE
To get the currently authenticated user, send the following request:
http://mysite.com/rest/authenticated-user
GET
Accept: application/json
Remember Me Use
Requires per-session and remember me to be enabled in the module config.
If to use the remember me service on login, send the following request:
http://mysite.com/rest/authenticated-user
POST
Content: '{"username": <username>, "password": <password>, "rememberMe": true}'
Accept: application/json
Content-type: application/json
Per Request Use
Requires per request to be enabled in the module config.
To authenticate on any request, add the following http header:
http Authorization: Basic <username:password>
username:password must be base64 encoded, and the request must be made across https
, not http
.