a php webservice client managing PwsAuth protocol
config | ||
src/MetaTech | ||
.gitignore | ||
composer.json | ||
LICENSE | ||
README.md |
MetaTech PwsClient
a php webservice client managing PwsAuth protocol
Requirements
PHP >= 5.4
Install
The package can be installed using Composer .
composer require meta-tech/pws-client
Or add the package to your composer.json
.
"require": {
"meta-tech/pws-client" : "@dev"
}
Usage
When instantiating, PwsClient automatically checks if it has been authenticated. Otherwise, or if the session has expired, the client will perform the authentication. Then, you can initiate get or post call
<?php
require_once(__dir__ . '/vendor/autoload.php');
use Symfony\Component\Yaml\Yaml;
use MetaTech\PwsAuth\Authenticator;
use MetaTech\Ws\Client;
$config = Yaml::parse(file_get_contents(__dir__ . '/config/pwsauth.yml'));
$authenticator = new Authenticator($config);
$config = Yaml::parse(file_get_contents(__dir__ . '/config/pwsclient.yml'));
$client = new Client($config, $authenticator);
// on instanciation the client init this calls :
// $client->check();
// enventually $client->call() (depending on previous response);
// get example
$response = $client->get('/ws/person/222');
if ($response->done) {
// do stuff
}
// post example
$client->post('/ws/person/222/update', [ 'firstname' => 'toto']);
if ($response->done) {
// do stuff
}
// to close and destroy session on serverside :
// $client->logout();
Config
# pwsclient config
# 0 : disable, 1 : verboose, 2 : most verboose
debug : 1
protocol : https://
hostname : pwsserver.docker
# file storing the server 's session id - must be out of DocumentRoot and read/writable by server
store : wsess
login : test
password : test
key : test
# 0 : display cli, 1 : display html
html_output : 0
# http authentication
http :
user :
password :
# server uris for authentication
uri :
auth : /ws/auth
logout : /ws/logout
check : /ws/isauth
Server Response
PwsClient intend to receiv any JsonResponse, the structure of the response is free.
However, meta-tech always return this simple Json Structure :
{ done : boolean, msg : 'string contextual msg', data : whatever }
see meta-tech/pws-server
and meta-tech/sile-core
License
The project is released under the MIT license, see the LICENSE file.