# Class yii\authclient\clients\Google

Inheritance | yii\authclient\clients\Google » yii\authclient\OAuth2 » yii\authclient\BaseOAuth » yii\authclient\BaseClient » yii\base\Component » yii\base\BaseObject
Implements | yii\authclient\ClientInterface, yii\base\Configurable
Subclasses | yii\authclient\clients\GoogleHybrid
Available since version | 2.0
Source Code | https://github.com/yiisoft/yii2-authclient/blob/master/clients/Google.php

Google allows authentication via Google OAuth.

In order to use Google OAuth you must create a project at https://console.developers.google.com/project and setup its credentials at https://console.developers.google.com/apis/credentials?project=[yourProjectId].

Example application configuration:

    'components' => [
        'authClientCollection' => [
            'class' => 'yii\authclient\Collection',
            'clients' => [
                'google' => [
                    'class' => 'yii\authclient\clients\Google',
                    'clientId' => 'google_client_id',
                    'clientSecret' => 'google_client_secret',
                ],
            ],
        ]
        // ...
    ]

See also https://console.developers.google.com/project.

## Public Properties

Hide inherited properties

Property | Type | Description | Defined By
--- | --- | --- | ---
$accessToken | yii\authclient\OAuthToken | Auth token instance. Note that the type of this property differs in getter and setter. See getAccessToken() and setAccessToken() for details. | yii\authclient\BaseOAuth
$apiBaseUrl | string | API base URL. | yii\authclient\clients\Google
$authUrl | string | Authorize URL. | yii\authclient\clients\Google
$autoRefreshAccessToken | boolean | Whether to automatically perform 'refresh access token' request on expired access token. | yii\authclient\BaseOAuth
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component. This property is read-only. | yii\base\Component
$clientId | string | OAuth client ID. | yii\authclient\OAuth2
$clientSecret | string | OAuth client secret. | yii\authclient\OAuth2
$httpClient | yii\httpclient\Client | Internal HTTP client. Note that the type of this property differs in getter and setter. See getHttpClient() and setHttpClient() for details. | yii\authclient\BaseClient
$id | string | Service id. | yii\authclient\BaseClient
$name | string | Service name. | yii\authclient\BaseClient
$normalizeUserAttributeMap | array | Normalize user attribute map. | yii\authclient\BaseClient
$parametersToKeepInReturnUrl | array | List of the parameters to keep in default return url. | yii\authclient\BaseOAuth
$requestOptions | array | HTTP request options. This property is read-only. | yii\authclient\BaseClient
$returnUrl | string | Return URL. | yii\authclient\BaseOAuth
$scope | string | Auth request scope. | yii\authclient\BaseOAuth
$signatureMethod | yii\authclient\signature\BaseMethod | Signature method instance. Note that the type of this property differs in getter and setter. See getSignatureMethod() and setSignatureMethod() for details. | yii\authclient\BaseOAuth
$stateStorage | yii\authclient\StateStorageInterface | Stage storage. Note that the type of this property differs in getter and setter. See getStateStorage() and setStateStorage() for details. | yii\authclient\BaseClient
$title | string | Service title. | yii\authclient\BaseClient
$tokenUrl | string | Token request URL endpoint. | yii\authclient\clients\Google
$userAttributes | array | List of user attributes. | yii\authclient\BaseClient
$validateAuthState | boolean | Whether to use and validate auth 'state' parameter in authentication flow. | yii\authclient\OAuth2
$version | string | Protocol version. | yii\authclient\BaseOAuth
$viewOptions | array | View options in format: optionName => optionValue. | yii\authclient\BaseClient

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
__call() | Calls the named method which is not a class method. | yii\base\Component
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component
__construct() | Constructor. | yii\base\BaseObject
__get() | Returns the value of a component property. | yii\base\Component
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component
__set() | Sets the value of a component property. | yii\base\Component
__unset() | Sets a component property to be null. | yii\base\Component
api() | Performs request to the OAuth API returning response data. | yii\authclient\BaseOAuth
applyAccessTokenToRequest() | Applies access token to the HTTP request instance. | yii\authclient\BaseOAuth
attachBehavior() | Attaches a behavior to this component. | yii\base\Component
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component
authenticateClient() | Authenticate OAuth client directly at the provider without third party (user) involved, using 'client_credentials' grant type. | yii\authclient\OAuth2
authenticateUser() | Authenticates user directly by 'username/password' pair, using 'password' grant type. | yii\authclient\OAuth2
authenticateUserJwt() | Authenticates user directly using JSON Web Token (JWT). | yii\authclient\OAuth2
beforeApiRequestSend() | Handles yii\httpclient\Request::EVENT_BEFORE_SEND event. | yii\authclient\BaseOAuth
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component
buildAuthUrl() | Composes user authorization URL. | yii\authclient\OAuth2
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component
className() | Returns the fully qualified name of this class. | yii\base\BaseObject
createApiRequest() | Creates an HTTP request for the API call. | yii\authclient\BaseOAuth
createRequest() | Creates HTTP request instance. | yii\authclient\BaseClient
detachBehavior() | Detaches a behavior from the component. | yii\base\Component
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component
fetchAccessToken() | Fetches access token from authorization code. | yii\authclient\OAuth2
getAccessToken() |  | yii\authclient\BaseOAuth
getBehavior() | Returns the named behavior object. | yii\base\Component
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component
getHttpClient() | Returns HTTP client. | yii\authclient\BaseClient
getId() |  | yii\authclient\ClientInterface
getName() |  | yii\authclient\ClientInterface
getNormalizeUserAttributeMap() |  | yii\authclient\BaseClient
getRequestOptions() |  | yii\authclient\BaseClient
getReturnUrl() |  | yii\authclient\BaseOAuth
getSignatureMethod() |  | yii\authclient\BaseOAuth
getStateStorage() |  | yii\authclient\BaseClient
getTitle() |  | yii\authclient\ClientInterface
getUserAttributes() |  | yii\authclient\ClientInterface
getViewOptions() |  | yii\authclient\ClientInterface
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component
init() | Initializes the object. | yii\authclient\clients\Google
off() | Detaches an existing event handler from this component. | yii\base\Component
on() | Attaches an event handler to an event. | yii\base\Component
refreshAccessToken() | Gets new auth token to replace expired one. | yii\authclient\BaseOAuth
setAccessToken() | Sets access token to be used. | yii\authclient\BaseOAuth
setHttpClient() | Sets HTTP client to be used. | yii\authclient\BaseOAuth
setId() |  | yii\authclient\ClientInterface
setName() |  | yii\authclient\ClientInterface
setNormalizeUserAttributeMap() |  | yii\authclient\BaseClient
setRequestOptions() |  | yii\authclient\BaseClient
setReturnUrl() |  | yii\authclient\BaseOAuth
setSignatureMethod() | Set signature method to be used. | yii\authclient\BaseOAuth
setStateStorage() |  | yii\authclient\BaseClient
setTitle() |  | yii\authclient\ClientInterface
setUserAttributes() |  | yii\authclient\BaseClient
setViewOptions() |  | yii\authclient\BaseClient
trigger() | Triggers an event. | yii\base\Component

## Protected Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
applyClientCredentialsToRequest() | Applies client credentials (e.g. $clientId and $clientSecret) to the HTTP request instance. | yii\authclient\OAuth2
composeUrl() | Composes URL from base URL and GET params. | yii\authclient\BaseOAuth
createHttpClient() | Creates HTTP client instance from reference or configuration. | yii\authclient\BaseOAuth
createSignatureMethod() | Creates signature method instance from its configuration. | yii\authclient\BaseOAuth
createToken() | Creates token from its configuration. | yii\authclient\BaseOAuth
defaultName() | Generates service name. | yii\authclient\clients\Google
defaultNormalizeUserAttributeMap() | Returns the default $normalizeUserAttributeMap value. | yii\authclient\BaseClient
defaultRequestOptions() | Returns default HTTP request options. | yii\authclient\BaseOAuth
defaultReturnUrl() | Composes default $returnUrl value. | yii\authclient\BaseOAuth
defaultTitle() | Generates service title. | yii\authclient\clients\Google
defaultViewOptions() | Returns the default $viewOptions value. | yii\authclient\BaseClient
generateAuthState() | Generates the auth state value. | yii\authclient\OAuth2
getState() | Returns persistent state value. | yii\authclient\BaseClient
getStateKeyPrefix() | Returns session key prefix, which is used to store internal states. | yii\authclient\BaseClient
initUserAttributes() | Initializes authenticated user attributes. | yii\authclient\clients\Google
normalizeUserAttributes() | Normalize given user attributes according to $normalizeUserAttributeMap. | yii\authclient\BaseClient
removeState() | Removes persistent state value. | yii\authclient\BaseClient
restoreAccessToken() | Restores access token. | yii\authclient\BaseOAuth
saveAccessToken() | Saves token as persistent state. | yii\authclient\BaseOAuth
sendRequest() | Sends the given HTTP request, returning response data. | yii\authclient\BaseOAuth
setState() | Sets persistent state. | yii\authclient\BaseClient

## Property Details

$apiBaseUrl public property

API base URL. This field will be used as yii\httpclient\Client::$baseUrl value of $httpClient. Note: changing this property will take no effect after $httpClient is instantiated.

public string $apiBaseUrl = 'https://www.googleapis.com/oauth2/v1'
$authUrl public property

Authorize URL.

public string $authUrl = 'https://accounts.google.com/o/oauth2/auth'
$tokenUrl public property

Token request URL endpoint.

public string $tokenUrl = 'https://accounts.google.com/o/oauth2/token'

## Method Details

defaultName() protected method

Generates service name.

protected string defaultName ( )
return | string | Service name.

defaultTitle() protected method

Generates service title.

protected string defaultTitle ( )
return | string | Service title.

init() public method

Initializes the object.

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

public void init ( )

initUserAttributes() protected method

Initializes authenticated user attributes.

protected array initUserAttributes ( )
return | array | Auth user attributes.