# AuthClient Extension for Yii 2

This extension adds OpenID, OAuth, OAuth2 and OpenId Connect consumers for the Yii framework 2.0.

For license information check the LICENSE-file.

Documentation is at docs/guide/README.md.

## Installation ¶

The preferred way to install this extension is through composer.

Either run

    composer require --prefer-dist yiisoft/yii2-authclient

or add

    "yiisoft/yii2-authclient": "~2.2.0"

to the `require` section of your composer.json.

# Class Reference

Class | Description
--- | ---
yii\authclient\AuthAction | AuthAction performs authentication via different auth clients.
yii\authclient\BaseClient | BaseClient is a base Auth Client class.
yii\authclient\BaseOAuth | BaseOAuth is a base class for the OAuth clients.
yii\authclient\CacheStateStorage | CacheStateStorage provides Auth client state storage based in cache component.
yii\authclient\ClientInterface | ClientInterface declares basic interface all Auth clients should follow.
yii\authclient\Collection | Collection is a storage for all auth clients in the application.
yii\authclient\InvalidResponseException | InvalidResponseException represents an exception caused by invalid remote server response.
yii\authclient\OAuth1 | OAuth1 serves as a client for the OAuth 1/1.0a flow.
yii\authclient\OAuth2 | OAuth2 serves as a client for the OAuth 2 flow.
yii\authclient\OAuthToken | Token represents OAuth token.
yii\authclient\OpenId | OpenId provides a simple interface for OpenID (1.1 and 2.0) authentication.
yii\authclient\OpenIdConnect | OpenIdConnect serves as a client for the OpenIdConnect flow.
yii\authclient\SessionStateStorage | SessionStateStorage provides Auth client state storage based on web session.
yii\authclient\StateStorageInterface | StateStorageInterface is an interface for Auth client state storage.
yii\authclient\clients\Facebook | Facebook allows authentication via Facebook OAuth.
yii\authclient\clients\GitHub | GitHub allows authentication via GitHub OAuth.
yii\authclient\clients\Google | Google allows authentication via Google OAuth.
yii\authclient\clients\GoogleHybrid | GoogleHybrid is an enhanced version of the yii\authclient\clients\Google, which uses Google+ hybrid sign-in flow, which relies on embedded JavaScript code to generate a sign-in button and handle user authentication dialog.
yii\authclient\clients\LinkedIn | LinkedIn allows authentication via LinkedIn OAuth.
yii\authclient\clients\Live | Live allows authentication via Microsoft Live OAuth.
yii\authclient\clients\Twitter | Twitter allows authentication via Twitter OAuth.
yii\authclient\clients\TwitterOAuth2 | TwitterOAuth2 allows authentication via Twitter OAuth 2.
yii\authclient\clients\VKontakte | VKontakte allows authentication via VKontakte OAuth.
yii\authclient\clients\Yandex | Yandex allows authentication via Yandex OAuth.
yii\authclient\signature\BaseMethod | BaseMethod is a base class for the OAuth signature methods.
yii\authclient\signature\HmacSha | HmacSha1 represents 'HMAC SHA' signature method.
yii\authclient\signature\HmacSha1 |
yii\authclient\signature\PlainText | PlainText represents 'PLAINTEXT' signature method.
yii\authclient\signature\RsaSha | RsaSha1 represents 'SHAwithRSA' (also known as RSASSA-PKCS1-V1_5-SIGN with the SHA hash) signature method.
yii\authclient\signature\RsaSha1 |
yii\authclient\widgets\AuthChoice | AuthChoice prints buttons for authentication via various auth clients.
yii\authclient\widgets\AuthChoiceAsset | AuthChoiceAsset is an asset bundle for yii\authclient\widgets\AuthChoice widget.
yii\authclient\widgets\AuthChoiceItem | AuthChoiceItem is a base class for creating widgets, which can be used to render link for auth client at yii\authclient\widgets\AuthChoice.
yii\authclient\widgets\AuthChoiceStyleAsset | AuthChoiceAsset is an asset bundle for yii\authclient\widgets\AuthChoice widget.
yii\authclient\widgets\GooglePlusButton | GooglePlusButton renders Google+ sign-in button.