Class yii\authclient\OAuth2
Inheritance | yii\authclient\OAuth2 » yii\authclient\BaseOAuth » yii\authclient\BaseClient » yii\base\Component |
---|---|
Implements | yii\authclient\ClientInterface |
Subclasses | yii\authclient\clients\Facebook, yii\authclient\clients\GitHub, yii\authclient\clients\GoogleHybrid, yii\authclient\clients\GoogleOAuth, yii\authclient\clients\LinkedIn, yii\authclient\clients\Live, yii\authclient\clients\VKontakte, yii\authclient\clients\YandexOAuth |
Available since version | 2.0 |
OAuth2 serves as a client for the OAuth 2 flow.
In oder to acquire access token perform following sequence:
use yii\authclient\OAuth2;
$oauthClient = new OAuth2();
$url = $oauthClient->buildAuthUrl(); // Build authorization URL
Yii::$app->getResponse()->redirect($url); // Redirect to authorization URL.
// After user returns at our site:
$code = $_GET['code'];
$accessToken = $oauthClient->fetchAccessToken($code); // Get access token
See also http://oauth.net/2/.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$apiBaseUrl | string | API base URL. | yii\authclient\BaseOAuth |
$authUrl | string | Authorize URL. | yii\authclient\BaseOAuth |
$autoRefreshAccessToken | boolean | Whether to automatically perform 'refresh access token' request on expired access token. | yii\authclient\BaseOAuth |
$clientId | string | OAuth client ID. | yii\authclient\OAuth2 |
$clientSecret | string | OAuth client secret. | yii\authclient\OAuth2 |
$scope | string | Auth request scope. | yii\authclient\BaseOAuth |
$tokenUrl | string | Token request URL endpoint. | yii\authclient\OAuth2 |
$version | string | Protocol version. | yii\authclient\OAuth2 |
Public Methods
Protected Methods
Method | Description | Defined By |
---|---|---|
apiInternal() | Performs request to the OAuth API. | yii\authclient\OAuth2 |
composeRequestCurlOptions() | Composes HTTP request CUrl options, which will be merged with the default ones. | yii\authclient\OAuth2 |
composeUrl() | Composes URL from base URL and GET params. | yii\authclient\BaseOAuth |
convertXmlToArray() | Converts XML document to array. | yii\authclient\BaseOAuth |
createSignatureMethod() | Creates signature method instance from its configuration. | yii\authclient\BaseOAuth |
createToken() | Creates token from its configuration. | yii\authclient\OAuth2 |
defaultCurlOptions() | Returns default cURL options. | yii\authclient\BaseOAuth |
defaultName() | Generates service name. | yii\authclient\BaseClient |
defaultNormalizeUserAttributeMap() | Returns the default \yii\authclient\normalizeUserAttributeMap value. | yii\authclient\BaseClient |
defaultReturnUrl() | Composes default \yii\authclient\returnUrl value. | yii\authclient\OAuth2 |
defaultTitle() | Generates service title. | yii\authclient\BaseClient |
defaultViewOptions() | Returns the default \yii\authclient\viewOptions value. | yii\authclient\BaseClient |
determineContentTypeByHeaders() | Attempts to determine HTTP request content type by headers. | yii\authclient\BaseOAuth |
determineContentTypeByRaw() | Attempts to determine the content type from raw content. | yii\authclient\BaseOAuth |
getState() | Returns persistent state value. | yii\authclient\BaseOAuth |
getStateKeyPrefix() | Returns session key prefix, which is used to store internal states. | yii\authclient\BaseOAuth |
initUserAttributes() | Initializes authenticated user attributes. | yii\authclient\BaseClient |
mergeCurlOptions() | Merge CUrl options. | yii\authclient\BaseOAuth |
normalizeUserAttributes() | Normalize given user attributes according to \yii\authclient\normalizeUserAttributeMap. | yii\authclient\BaseClient |
processResponse() | Processes raw response converting it to actual data. | yii\authclient\BaseOAuth |
removeState() | Removes persistent state value. | yii\authclient\BaseOAuth |
restoreAccessToken() | Restores access token. | yii\authclient\BaseOAuth |
saveAccessToken() | Saves token as persistent state. | yii\authclient\BaseOAuth |
sendRequest() | Sends HTTP request. | yii\authclient\BaseOAuth |
setState() | Sets persistent state. | yii\authclient\BaseOAuth |
Constants
Constant | Value | Description | Defined By |
---|---|---|---|
CONTENT_TYPE_AUTO | 'auto' | yii\authclient\BaseOAuth | |
CONTENT_TYPE_JSON | 'json' | yii\authclient\BaseOAuth | |
CONTENT_TYPE_URLENCODED | 'urlencoded' | yii\authclient\BaseOAuth | |
CONTENT_TYPE_XML | 'xml' | yii\authclient\BaseOAuth |
Property Details
Method Details
Performs request to the OAuth API.
protected array apiInternal ( $accessToken, $url, $method, array $params, array $headers ) | ||
$accessToken | yii\authclient\OAuthToken | Actual access token. |
$url | string | Absolute API URL. |
$method | string | Request method. |
$params | array | Request parameters. |
$headers | array | Additional request headers. |
return | array | API response. |
---|---|---|
throws | \yii\base\Exception | on failure. |
Composes user authorization URL.
public string buildAuthUrl ( array $params = [] ) | ||
$params | array | Additional auth GET params. |
return | string | Authorization URL. |
---|
Composes HTTP request CUrl options, which will be merged with the default ones.
protected array composeRequestCurlOptions ( $method, $url, array $params ) | ||
$method | string | Request type. |
$url | string | Request URL. |
$params | array | Request params. |
return | array | CUrl options. |
---|---|---|
throws | \yii\base\Exception | on failure. |
Creates token from its configuration.
protected yii\authclient\OAuthToken createToken ( array $tokenConfig = [] ) | ||
$tokenConfig | array | Token configuration. |
return | yii\authclient\OAuthToken | Token instance. |
---|
Composes default \yii\authclient\returnUrl value.
protected string defaultReturnUrl ( ) | ||
return | string | Return URL. |
---|
Fetches access token from authorization code.
public yii\authclient\OAuthToken fetchAccessToken ( $authCode, array $params = [] ) | ||
$authCode | string | Authorization code, usually comes at $_GET['code']. |
$params | array | Additional request params. |
return | yii\authclient\OAuthToken | Access token. |
---|
Gets new auth token to replace expired one.
public yii\authclient\OAuthToken refreshAccessToken ( yii\authclient\OAuthToken $token ) | ||
$token | yii\authclient\OAuthToken | Expired auth token. |
return | yii\authclient\OAuthToken | New auth token. |
---|