繁体   English   中英

如何从yii2中的rest api注销

[英]how to logout from rest api in yii2

正在使用注销操作在yii2框架中调用注销api

网址: http:// localhost / mobile / public / api / v1 / logout

码:

public function actionLogout()
{
    $user_t = Yii::$app->user->logout();
    return $this->apiItem(array(),'Logout Successfully');
}

但是在调用logout api

在此之后我调用view profile api时返回用户数据

public function actionViewprofile()
{
    $user = Yii::$app->user->identity;

    $profile_fetch = [
        'firstname'       => $user['member_fname'],
        'lastname'        => $user['member_lname'],
        'gender'          => $user['member_gender'],
        'dateofbirth'     => $user['member_dob']
    ];
    return $this->apiItem($profile_fetch);
}

其中apitem是json参数格式的函数

 /**
 * Api Item response
 */
public function apiItem($data, $message = false,$flag = false )
{
    Yii::$app->response->statusCode = 200;
    return [
        'statusCode' => 200,
        'message' => $message ? $message : 'Data retrieval successful',
        'data' => $data,
        'flag' => $flag
    ];
}

从数据库中清除令牌并清除用户会话

 $userID = Yii::$app->session->get('userID');

 $userModel = User::find()->where(['id'=>$userID])->one();
   if(!empty($userModel))
   {
    $userModel->token=NULL;
    $userModel->save(false);
   }
   Yii::app()->user->logout(false);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM