Download the PHP package nyan02/kphp_oauth2_google without Composer
On this page you can find all versions of the php package nyan02/kphp_oauth2_google. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nyan02/kphp_oauth2_google
More information about nyan02/kphp_oauth2_google
Files in nyan02/kphp_oauth2_google
Package kphp_oauth2_google
Short Description Google OAuth 2.0 Client Provider for KPHP OAuth2 Client
License MIT
Informations about the package kphp_oauth2_google
This package provides Google OAuth 2.0 support for the KPHP
Installation
To install, use composer:
Usage
Usage is similar to KPHP OAuth client, using nyan02\kphp_oauth2_client\Provider\Google as the provider.
You need to create a new Provider object specifying google-client-id, google-client-secret and callback-url.
If you want to restrict access and allow it only for users on your G Suite/Google Apps for Business accounts (corporate emails), you can configure the provider to set Hosted Domain.
You can see the example below.
Authorization Code Example
Authorization Code Flow
After configuring provider we want to get Authorization Code. We use method getAuthorizationParameters() to get parameters from the provider including permission scopes and other info needed for generating AuthorizationUrl.
Next we generate AuthorizationUrl using method getAuthorizationUrl($params) and passing parameters we've got before. Now that we have the Url we can redirect the user to Authorization page of provider.
Once we've got Authorization Code we create a placeholder class for it
And pass it to getAccessToken method together with the code we've got.
Now we have the Access Token to Resource.
Getting ResourceOwner Information
With Access Token we can now access User's information.
Implemented methods for GoogleResourceOwner are getId() and toJSON(). All the class attributes are public, so you can directly access them. GoogleResourceOwner has the following attributes: sub, name, given_name, family_name, locale, hd, email, picture.