2022-11-25 16:06:44 896次浏览 0条回答 0 悬赏 10 金钱
public function actionLogin() {
    $credentials = Yii::$app->request->post();

    $phone = $credentials['phone'];
    $code  = $credentials['code'];

    /* 检查验证码 */
    $isCodeValid = $this->checkCode($phone, $code);
    if ($isCodeValid) {
        $user = $this->findUserByPhone($phone);
        if ($user && Yii::$app->user->login($user)) {
            $token = $this->generateToken($user);
            CacheHelper::set($token, $user->id);
            return $this->send(200, ['token'=>$token,'message'=>'登录成功']);
        }
        return $this->send(404, ['msg'=>'账号未注册']);
    }
    return $this->send(400, ['message'=>'验证码错误']);
}

Snipaste_2022-11-25_16-05-30.png

为啥我登录成功生成token了,请求另外的接口发现 Yii::$app->user->isGuest 还是 true,我这个登录方法有什么问题吗,还是缺少了哪些配置

补充于 2022-11-25 16:35

解决了,原来是我自定义的认证行为里面没有返回用户实例

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
大事不喵
助理

大事不喵 广州

注册时间:2015-06-22
最后登录:2023-04-20
在线时长:5小时0分
  • 粉丝0
  • 金钱145
  • 威望0
  • 积分195

热门问题