如何在yii2api中创建登录和注册操作

如何在yii2api中创建登录和注册操作,api,yii2,Api,Yii2,我正在开发yii2api,希望创建用户登录和用户注册/注册,但我不知道如何在api中创建登录和注册 我可以从用户那里获得这些值,但当yii2与iOS应用程序一起使用时,登录和注册将如何工作 这是我的用户控制器代码, namespace api\modules\v1\controllers; use Yii; use yii\data\ActiveDataProvider; use yii\rest\ActiveController; use api\modules\v1\models\User;

我正在开发yii2api,希望创建用户登录和用户注册/注册,但我不知道如何在api中创建登录和注册

我可以从用户那里获得这些值,但当yii2与iOS应用程序一起使用时,登录和注册将如何工作

这是我的用户控制器代码,
namespace api\modules\v1\controllers;
use Yii;
use yii\data\ActiveDataProvider;
use yii\rest\ActiveController;
use api\modules\v1\models\User; 
use yii\web\Response;
use yii\web\JsonResponseFormatter;

/**
 * UserController implements the CRUD actions for User model.
 */
class UserController extends ActiveController
{
  public function behaviors(){
                $behaviors = parent::behaviors();
                $behaviors['bootstrap'] = [
                'class' => \yii\filters\ContentNegotiator::className(),
                'formats' => [
                    'application/json' => Response::FORMAT_JSON,
                ],               
            ];
                return $behaviors;
        }


    public $modelClass = 'api\modules\v1\models\User';   

   public function actionUserapi()
    {
        Yii::$app->response->format = Response::FORMAT_JSON;
         return new ActiveDataProvider([
            'query' => User::find()->asArray()
        ]);
    }
}

注册

/**
 * Signs user up.
 *
 * @return mixed
 */
public function actionCreate()
{
    $model = new SignupForm();
    $params = Yii::$app->request->post();
    $model->username = $params['username'];
    $model->password=$params['password'];
    $model->email=$params['email'];

    if ($model->signup()) {
  $response['isSuccess'] = 201;
  $response['message'] = 'You are now a member!';
  $response['user'] =\common\models\User::findByUsername($model->username);
        return $response;   
        }
  else {
  //$model->validate();
  $model->getErrors();
  $response['hasErrors'] = $model->hasErrors();
  $response['errors'] = $model->getErrors();
            //return = $model;
          return $response;

        }
}
登录

  /**
 * User login.
 *
 * @return mixed
 */
 public function actionLogin(){
    $model = new LoginForm();
    $params = Yii::$app->request->post();
    $model->username = $params['username'];
    $model->password = $params['password'];
    if ($model->login()) {
        $response['message'] = 'You are now logged in!';
        $response['user'] = \common\models\User::findByUsername($model->username);
        //return [$response,$model];  
        return $response; 
        }
    else {
          $model->validate();
          $response['errors'] = $model->getErrors();
            return $response;
        }
}

注册

/**
 * Signs user up.
 *
 * @return mixed
 */
public function actionCreate()
{
    $model = new SignupForm();
    $params = Yii::$app->request->post();
    $model->username = $params['username'];
    $model->password=$params['password'];
    $model->email=$params['email'];

    if ($model->signup()) {
  $response['isSuccess'] = 201;
  $response['message'] = 'You are now a member!';
  $response['user'] =\common\models\User::findByUsername($model->username);
        return $response;   
        }
  else {
  //$model->validate();
  $model->getErrors();
  $response['hasErrors'] = $model->hasErrors();
  $response['errors'] = $model->getErrors();
            //return = $model;
          return $response;

        }
}
登录

  /**
 * User login.
 *
 * @return mixed
 */
 public function actionLogin(){
    $model = new LoginForm();
    $params = Yii::$app->request->post();
    $model->username = $params['username'];
    $model->password = $params['password'];
    if ($model->login()) {
        $response['message'] = 'You are now logged in!';
        $response['user'] = \common\models\User::findByUsername($model->username);
        //return [$response,$model];  
        return $response; 
        }
    else {
          $model->validate();
          $response['errors'] = $model->getErrors();
            return $response;
        }
}

如果你正在推广你自己的网站,你需要明确的说明。请参阅。@tripleee Understoodi如果您正在推广自己的网站,您需要明确说明。请看。@tripleee明白了吗