Skip to content

Communications with Gigya's REST api

License

Notifications You must be signed in to change notification settings

Lambik/gigya-client

 
 

Repository files navigation

gigya-client

Latest Version on Packagist Software License Build Status Total Downloads Coverage Status Quality Score

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: add api_key and secret to https web requests
    • credentials: uses client_id and client_secret for use with oauth2 token retrieval
    • gigya-oauth2: uses an automatically retrieved OAuth2 token
    • custom: use your own custom authentication (or use oauth2 with a provided token)

Install

The simplest way to install the client is with composer and running:

$ composer require graze/gigya-client

Usage

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();
}

OAuth 2

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();

Social OAuth 2

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();

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ make install
$ make test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Communications with Gigya's REST api

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 98.8%
  • Makefile 1.2%