On this page
Class yii\authclient\widgets\AuthChoice
Inheritance | yii\authclient\widgets\AuthChoice » yii\base\Widget » yii\base\Component » yii\base\Object |
---|---|
Implements | yii\base\Configurable, yii\base\ViewContextInterface |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2-authclient/blob/master/widgets/AuthChoice.php |
AuthChoice prints buttons for authentication via various auth clients.
It opens a popup window for the client authentication process. By default this widget relies on presence of yii\authclient\Collection among application components to get auth clients information.
Example:
<?= yii\authclient\widgets\AuthChoice::widget([
'baseAuthUrl' => ['site/auth']
]); ?>
You can customize the widget appearance by using begin() and end() syntax along with using method clientLink() or createClientUrl(). For example:
<?php
use yii\authclient\widgets\AuthChoice;
?>
<?php $authAuthChoice = AuthChoice::begin([
'baseAuthUrl' => ['site/auth']
]); ?>
<ul>
<?php foreach ($authAuthChoice->getClients() as $client): ?>
<li><?= $authAuthChoice->clientLink($client) ?></li>
<?php endforeach; ?>
</ul>
<?php AuthChoice::end(); ?>
This widget supports following keys for yii\authclient\ClientInterface::getViewOptions() result:
- popupWidth: int, width of the popup window in pixels.
- popupHeight: int, height of the popup window in pixels.
- widget: array, configuration for the widget, which should be used to render a client link; such widget should be a subclass of yii\authclient\widgets\AuthChoiceItem.
See also yii\authclient\AuthAction.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$autoIdPrefix | string | The prefix to the automatically generated widget IDs. | yii\base\Widget |
$autoRender | boolean | Indicates if widget content, should be rendered automatically. | yii\authclient\widgets\AuthChoice |
$baseAuthUrl | array | Base auth URL configuration. | yii\authclient\widgets\AuthChoice |
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$clientCollection | string | Name of the auth client collection application component. | yii\authclient\widgets\AuthChoice |
$clientIdGetParamName | string | Name of the GET param , which should be used to passed auth client id to URL defined by $baseAuthUrl. | yii\authclient\widgets\AuthChoice |
$clientOptions | array | Additional options to be passed to the underlying JS plugin. | yii\authclient\widgets\AuthChoice |
$clients | yii\authclient\ClientInterface[] | Auth providers | yii\authclient\widgets\AuthChoice |
$counter | integer | A counter used to generate $id for widgets. | yii\base\Widget |
$id | string | ID of the widget. | yii\base\Widget |
$options | array | The HTML attributes that should be rendered in the div HTML tag representing the container element. | yii\authclient\widgets\AuthChoice |
$popupMode | boolean | Indicates if popup window should be used instead of direct links. | yii\authclient\widgets\AuthChoice |
$stack | yii\base\Widget[] | The widgets that are currently being rendered (not ended). | yii\base\Widget |
$view | yii\web\View | The view object that can be used to render views or view files. | yii\base\Widget |
$viewPath | string | The directory containing the view files for this widget. | yii\base\Widget |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Object |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\base\Object |
__get() | Returns the value of an object property. | yii\base\Object |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Object |
__set() | Sets value of an object property. | yii\base\Object |
__unset() | Sets an object property to null. | yii\base\Object |
afterRun() | This method is invoked right after a widget is executed. | yii\base\Widget |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
beforeRun() | This method is invoked right before the widget is executed. | yii\base\Widget |
begin() | Begins a widget. | yii\base\Widget |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Object |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Object |
className() | Returns the fully qualified name of this class. | yii\base\Object |
clientLink() | Outputs client auth link. | yii\authclient\widgets\AuthChoice |
createClientUrl() | Composes client auth URL. | yii\authclient\widgets\AuthChoice |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
end() | Ends a widget. | yii\base\Widget |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
getBaseAuthUrl() | yii\authclient\widgets\AuthChoice | |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
getClients() | yii\authclient\widgets\AuthChoice | |
getId() | Returns the ID of the widget. | yii\base\Widget |
getView() | Returns the view object that can be used to render views or view files. | yii\base\Widget |
getViewPath() | Returns the directory containing the view files for this widget. | yii\base\Widget |
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\Object |
hasProperty() | Returns a value indicating whether a property is defined. | yii\base\Object |
init() | Initializes the widget. | yii\authclient\widgets\AuthChoice |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
render() | Renders a view. | yii\base\Widget |
renderFile() | Renders a view file. | yii\base\Widget |
run() | Runs the widget. | yii\authclient\widgets\AuthChoice |
setBaseAuthUrl() | yii\authclient\widgets\AuthChoice | |
setClients() | yii\authclient\widgets\AuthChoice | |
setId() | Sets the ID of the widget. | yii\base\Widget |
setView() | Sets the view object to be used by this widget. | yii\base\Widget |
trigger() | Triggers an event. | yii\base\Component |
widget() | Creates a widget instance and runs it. | yii\base\Widget |
Protected Methods
Method | Description | Defined By |
---|---|---|
defaultBaseAuthUrl() | Composes default base auth URL configuration. | yii\authclient\widgets\AuthChoice |
defaultClients() | Returns default auth clients list. | yii\authclient\widgets\AuthChoice |
renderMainContent() | Renders the main content, which includes all external services links. | yii\authclient\widgets\AuthChoice |
Events
Event | Type | Description | Defined By |
---|---|---|---|
EVENT_AFTER_RUN | yii\base\WidgetEvent | An event raised right after executing a widget. (available since version 2.0.11) | yii\base\Widget |
EVENT_BEFORE_RUN | yii\base\WidgetEvent | An event raised right before executing a widget. (available since version 2.0.11) | yii\base\Widget |
EVENT_INIT | yii\base\Event | An event that is triggered when the widget is initialized via init(). (available since version 2.0.11) | yii\base\Widget |
Property Details
$autoRender public property
Indicates if widget content, should be rendered automatically. Note: this value automatically set to 'false' at the first call of createClientUrl()
public boolean $autoRender = true
$baseAuthUrl public property
Base auth URL configuration.
public array getBaseAuthUrl ( )
public void setBaseAuthUrl ( array $baseAuthUrl )
$clientCollection public property
Name of the auth client collection application component. This component will be used to fetch services value if it is not set.
public string $clientCollection = 'authClientCollection'
$clientIdGetParamName public property
Name of the GET param , which should be used to passed auth client id to URL defined by $baseAuthUrl.
public string $clientIdGetParamName = 'authclient'
$clientOptions public property
Additional options to be passed to the underlying JS plugin.
public array $clientOptions = []
$clients public property
Auth providers
public yii\authclient\ClientInterface[] getClients ( )
public void setClients ( array $clients )
$options public property
The HTML attributes that should be rendered in the div HTML tag representing the container element.
See also yii\helpers\Html::renderTagAttributes() for details on how attributes are being rendered.
public array $options = []
$popupMode public property
Indicates if popup window should be used instead of direct links.
public boolean $popupMode = true
Method Details
clientLink() public method
Outputs client auth link.
public string clientLink ( $client, $text = null, array $htmlOptions = [] ) | ||
---|---|---|
$client | yii\authclient\ClientInterface | External auth client instance. |
$text | string | Link text, if not set - default value will be generated. |
$htmlOptions | array | Link HTML options. |
return | string | Generated HTML. |
throws | yii\base\InvalidConfigException | on wrong configuration. |
createClientUrl() public method
Composes client auth URL.
public string createClientUrl ( $client ) | ||
---|---|---|
$client | yii\authclient\ClientInterface | External auth client instance. |
return | string | Auth URL. |
defaultBaseAuthUrl() protected method
Composes default base auth URL configuration.
protected array defaultBaseAuthUrl ( ) | ||
---|---|---|
return | array | Base auth URL configuration. |
defaultClients() protected method
Returns default auth clients list.
protected yii\authclient\ClientInterface[] defaultClients ( ) | ||
---|---|---|
return | yii\authclient\ClientInterface[] | Auth clients list. |
getBaseAuthUrl() public method
public array getBaseAuthUrl ( ) | ||
---|---|---|
return | array | Base auth URL configuration. |
getClients() public method
public yii\authclient\ClientInterface[] getClients ( ) | ||
---|---|---|
return | yii\authclient\ClientInterface[] | Auth providers |
init() public method
Initializes the widget.
public void init ( ) |
---|
renderMainContent() protected method
Renders the main content, which includes all external services links.
protected string renderMainContent ( ) | ||
---|---|---|
return | string | Generated HTML. |
run() public method
Runs the widget.
setBaseAuthUrl() public method
public void setBaseAuthUrl ( array $baseAuthUrl ) | ||
---|---|---|
$baseAuthUrl | array | Base auth URL configuration. |
setClients() public method
public void setClients ( array $clients ) | ||
---|---|---|
$clients | yii\authclient\ClientInterface[] | Auth providers |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-authclient-widgets-authchoice.html