Класс yii\authclient\AuthAction
| Наследование | yii\authclient\AuthAction » yii\base\Action » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-authclient/blob/master/AuthAction.php |
AuthAction выполняет аутентификацию через разные службы аутентификации.
Он поддерживает типы клиентов yii\authclient\OpenId, yii\authclient\OAuth1 и yii\authclient\OAuth2.
Использование:
class SiteController extends Controller
{
public function actions()
{
return [
'auth' => [
'class' => 'yii\authclient\AuthAction',
'successCallback' => [$this, 'successCallback'],
],
]
}
public function successCallback($client)
{
$attributes = $client->getUserAttributes();
// user login or signup comes here
}
}
Обычно аутентификация через внешние сервисы выполняется в всплывающем окне. Этот action правильно обрабатывает перенаправление и закрытие всплывающего окна.
См. также:
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединенных к этому компоненту поведений | yii\base\Component |
| $cancelUrl | string | URL отмены. | yii\authclient\AuthAction |
| $clientCollection | string | Имя компонента приложения, содержащего коллекцию клиентов аутентификации. | yii\authclient\AuthAction |
| $clientIdGetParamName | string | Имя параметра GET, используемого для передачи идентификатора клиента аутентификации этому action. | yii\authclient\AuthAction |
| $controller | yii\base\Controller|yii\web\Controller | Контроллер, которому принадлежит этот action | yii\base\Action |
| $id | string | ID action | yii\base\Action |
| $redirectView | string | Имя или псевдоним файла представления, который должен быть отрисован для выполнения перенаправления. | yii\authclient\AuthAction |
| $successCallback | callable | PHP обратный вызов, который должен быть вызван в случае успешной аутентификации. | yii\authclient\AuthAction |
| $successUrl | string | Успешный URL. | yii\authclient\AuthAction |
| $uniqueId | string | Уникальный ID этого action в рамках всего приложения. | yii\base\Action |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Action |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, может ли свойство быть прочитано. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, может ли свойство быть установлено. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все присоединенные к этому компоненту поведения. | yii\base\Component |
| getCancelUrl() | yii\authclient\AuthAction | |
| getSuccessUrl() | yii\authclient\AuthAction | |
| getUniqueId() | Возвращает уникальный идентификатор этого действия во всей приложении. | yii\base\Action |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, присоединенный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| redirect() | Перенаправление на указанный URL или просто закрытие всплывающего окна. | yii\authclient\AuthAction |
| redirectCancel() | Перенаправление на $cancelUrl или просто закрытие всплывающего окна. | yii\authclient\AuthAction |
| redirectSuccess() | Перенаправление на URL. Если URL равен null, будет использован $successUrl. | yii\authclient\AuthAction |
| run() | Выполнение действия. | yii\authclient\AuthAction |
| runWithParams() | Выполнение этого действия со специфицированными параметрами. | yii\base\Action |
| setCancelUrl() | yii\authclient\AuthAction | |
| setSuccessUrl() | yii\authclient\AuthAction | |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| afterRun() | Этот метод вызывается сразу после выполнения run(). | yii\base\Action |
| auth() | Выполнить аутентификацию для данного клиента. | yii\authclient\AuthAction |
| authOAuth1() | Выполняет поток аутентификации OAuth1. | yii\authclient\AuthAction |
| authOAuth2() | Выполняет поток аутентификации OAuth2. | yii\authclient\AuthAction |
| authOpenId() | Выполняет поток аутентификации OpenID. | yii\authclient\AuthAction |
| authSuccess() | Этот метод вызывается в случае успешной аутентификации через клиент аутентификации. | yii\authclient\AuthAction |
| beforeRun() | Этот метод вызывается сразу перед выполнением run(). | yii\base\Action |
| defaultCancelUrl() | Создает значение по умолчанию для $cancelUrl. | yii\authclient\AuthAction |
| defaultSuccessUrl() | Создает значение по умолчанию для $successUrl. | yii\authclient\AuthAction |
Подробное описание свойств
$cancelUrl публичное свойство
URL отмены.
public string getCancelUrl ( )
public void setCancelUrl ( $url )
$clientCollection публичное свойство
Имя компонента приложения для коллекции клиентов аутентификации. Оно должно указывать на экземпляр yii\authclient\Collection.
public string $clientCollection = 'authClientCollection'
$clientIdGetParamName публичное свойство
Имя параметра GET, используемого для передачи идентификатора клиента аутентификации в это действие. Примечание: обратите внимание на именование, убедитесь, что вы не выбираете имя, используемое в каком-либо протоколе аутентификации.
public string $clientIdGetParamName = 'authclient'
$redirectView публичное свойство
Имя или псевдоним файла представления, который должен быть отрисован для выполнения перенаправления. Если не задано, будет использоваться значение по умолчанию.
public string $redirectView = null
$successCallback публичное свойство
PHP обратный вызов, который должен быть вызван в случае успешной аутентификации. Этот обратный вызов должен принимать экземпляр yii\authclient\ClientInterface в качестве аргумента. Например:
public function onAuthSuccess($client)
{
$attributes = $client->getUserAttributes();
// user login or signup comes here
}
Если этот обработчик возвращает экземпляр yii\web\Response, он будет использован в качестве ответа действия, в противном случае произойдёт переадресация на $successUrl.
public callable $successCallback = null
$successUrl общее свойство
Успешный URL.
public string getSuccessUrl ( )
public void setSuccessUrl ( $url )
Подробное описание методов
auth() защищённый метод
Выполнить аутентификацию для данного клиента.
| защищённый yii\web\Response auth ( $client ) | ||
|---|---|---|
| $client | смешанный |
Экземпляр клиента аутентификации. |
| возвращает | yii\web\Response |
Экземпляр ответа. |
| бросает | yii\base\NotSupportedException |
при некорректном клиенте. |
authOAuth1() защищённый метод
Выполняет поток аутентификации OAuth1.
| защищённый yii\web\Response authOAuth1 ( $client ) | ||
|---|---|---|
| $client | yii\authclient\OAuth1 |
Экземпляр клиента аутентификации. |
| возвращает | yii\web\Response |
Ответ действия. |
authOAuth2() защищённый метод
Выполняет поток аутентификации OAuth2.
| защищённый yii\web\Response authOAuth2 ( $client ) | ||
|---|---|---|
| $client | yii\authclient\OAuth2 |
Экземпляр клиента аутентификации. |
| возвращает | yii\web\Response |
Ответ действия. |
| бросает | yii\base\Exception |
при ошибке. |
authOpenId() защищённый метод
Выполняет поток аутентификации OpenID.
| защищённый yii\web\Response authOpenId ( $client ) | ||
|---|---|---|
| $client | yii\authclient\OpenId |
Экземпляр клиента аутентификации. |
| возвращает | yii\web\Response |
Ответ действия. |
| бросает | yii\base\Exception |
при ошибке. |
| бросает | yii\web\HttpException |
при ошибке. |
authSuccess() защищённый метод
Этот метод вызывается в случае успешной аутентификации через клиент аутентификации.
| защищённый yii\web\Response authSuccess ( $client ) | ||
|---|---|---|
| $client | yii\authclient\ClientInterface |
Экземпляр клиента аутентификации. |
| возвращает | yii\web\Response |
Экземпляр ответа. |
| бросает | yii\base\InvalidConfigException |
при некорректном обратном вызове. |
defaultCancelUrl() защищённый метод
Создаёт значение по умолчанию для $cancelUrl.
| защищённый string defaultCancelUrl ( ) | ||
|---|---|---|
| возвращает | string |
Значение URL отмены. |
defaultSuccessUrl() защищённый метод
Создаёт значение по умолчанию для $successUrl.
| защищённый string defaultSuccessUrl ( ) | ||
|---|---|---|
| возвращает | string |
Значение URL успеха. |
getCancelUrl() общественный метод
| общественный string getCancelUrl ( ) | ||
|---|---|---|
| возвращает | string |
URL отмены. |
getSuccessUrl() общественный метод
| общественный string getSuccessUrl ( ) | ||
|---|---|---|
| возвращает | string |
URL успеха. |
redirect() общественный метод
Перенаправить на заданный URL или просто закрыть всплывающее окно.
| общественный yii\web\Response redirect ( $url, $enforceRedirect = true ) | ||
|---|---|---|
| $url | смешанный |
URL для перенаправления, может быть строкой или конфигурацией массива для генерации корректного URL. |
| $enforceRedirect | boolean |
Указывает, должно ли выполняться перенаправление даже в случае всплывающего окна. |
| возвращает | yii\web\Response |
Экземпляр ответа. |
redirectCancel() общественный метод
Перенаправить на $cancelUrl или просто закрыть всплывающее окно.
| общественный yii\web\Response redirectCancel ( $url = null ) | ||
|---|---|---|
| $url | string |
URL для перенаправления. |
| возвращает | yii\web\Response |
Экземпляр ответа. |
redirectSuccess() общественный метод
Перенаправить на URL. Если URL равен null, будет использован $successUrl.
| общественный yii\web\Response redirectSuccess ( $url = null ) | ||
|---|---|---|
| $url | string |
URL для перенаправления. |
| возвращает | yii\web\Response |
Экземпляр ответа. |
run() общественный метод
Выполнить действие.
| общественный void run ( ) |
|---|
setCancelUrl() общественный метод
| общественный void setCancelUrl ( $url ) | ||
|---|---|---|
| $url | string |
URL отмены. |
setSuccessUrl() общественный метод
| общественный void setSuccessUrl ( $url ) | ||
|---|---|---|
| $url | string |
URL успеха. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-authclient-authaction.html