Client for Gigya's REST API
- Endpoint call hierarchy:
$gigya->accounts()->tfa()->getCertificate()
- List of endpoints:
accounts
,accounts->tfa
,audit
,socialize
,comments
,gameMechanics
,reports
,dataStore
,identityStorage
,saml
,saml->idp
- Populated classes with auto completion helpers for the available methods from Gigya
- Different authentication methods:
gigya
: addapi_key
andsecret
to https web requestscredentials
: usesclient_id
andclient_secret
for use with oauth2 token retrievalgigya-oauth2
: uses an automatically retrieved OAuth2 tokencustom
: use your own custom authentication (or use oauth2 with a provided token)
The simplest way to install the client is with composer and running:
$ composer require graze/gigya-client
By Default the Gigya client uses gigya
auth and appends the api_key and secret onto the query string when calling gigya over https.
$gigya = new Gigya($key, $secret);
$response = $gigya->accounts()->getAccountInfo(['uid' => $uid]);
if ($response->getErrorCode() === ErrorCode::OK) {
$account = $response->getData();
}
You can also use oauth2
in server mode and retrieve information about all accounts
$gigya = new Gigya($key, $secret, $region, $user, ['auth'=>'gigya-oauth2']);
$response = $gigya->accounts()->getAccountInfo(['uid' => $uid]);
$account = $response->getData();
OAuth2 can also be used to retrieve information about a single account without knowledge of the uid
.
$grant = new ManualGrant();
$gigya = new Gigya($key, $secret, $region, null, ['auth' => 'oauth2-custom']);
$gigya->addHandler(OAuth2Subscriber::middleware($grant, 'oauth2-custom'));
$tokenResponse = $gigya->socialize()->getToken([
'grant_type' => 'code',
'authorization_code' => '<xxxxx>',
'redirect_uri' => '<xxxxx>',
], ['auth' => 'credentials']);
$grant->setToken($tokenResponse->getData()->get('access_token'));
$response = $gigya->accounts()->getAccountInfo();
$account = $response->getData();
Please see CHANGELOG for more information what has changed recently.
$ make install
$ make test
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.