AuthInterface.php 1.14 KB
Newer Older
Qiang Xue committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
<?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace yii\rest;

use yii\web\User;
use yii\web\Request;
use yii\web\Response;
use yii\web\IdentityInterface;
use yii\web\UnauthorizedHttpException;

/**
Qiang Xue committed
17
 * AuthInterface is the interface required by classes that support user authentication.
Qiang Xue committed
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @since 2.0
 */
interface AuthInterface
{
	/**
	 * Authenticates the current user.
	 *
	 * @param User $user
	 * @param Request $request
	 * @param Response $response
	 * @return IdentityInterface the authenticated user identity. If authentication information is not provided, null will be returned.
	 * @throws UnauthorizedHttpException if authentication information is provided but is invalid.
	 */
	public function authenticate($user, $request, $response);
	/**
	 * Handles authentication failure.
	 * The implementation should normally throw UnauthorizedHttpException to indicate authentication failure.
	 * @param Response $response
	 * @throws UnauthorizedHttpException
	 */
	public function handleFailure($response);
}