Yii2 Yi2检索AccessTokenByUser的密码哈希

Yii2 Yi2检索AccessTokenByUser的密码哈希,yii2,Yii2,为了在移动应用程序中使用,我尝试使用Yii2内置的RestApi。 现在我通过阅读了解到,我们应该禁用会话并将loginUrl属性设置为false 现在我想要的是,我想要我的应用程序的登录屏幕,并想要根据API进行身份验证。 我怎样才能达到同样的效果 注: 我可以为不同的控制器(包括用户控制器和承载令牌)使用用户名和密码进行身份验证 我还读了“yii2 by example”中的一个例子 我的问题是如何得到这里提供的“$passwordHash”。我试着来回看看,但找不到任何解决办法 我的主要目

为了在移动应用程序中使用,我尝试使用Yii2内置的RestApi。 现在我通过阅读了解到,我们应该禁用会话并将loginUrl属性设置为false

现在我想要的是,我想要我的应用程序的登录屏幕,并想要根据API进行身份验证。 我怎样才能达到同样的效果

注: 我可以为不同的控制器(包括用户控制器和承载令牌)使用用户名和密码进行身份验证

我还读了“yii2 by example”中的一个例子

我的问题是如何得到这里提供的“$passwordHash”。我试着来回看看,但找不到任何解决办法


我的主要目的是如何实现移动应用程序登录,并在需要时在后台提供
accesstoken

我相信我已经重构了代码,以实现我的目标。在我的执行过程中可能会有任何建议或缺陷

这就是我所做的

public function actionAccessTokenByUser($username, $password)
        {
            $accessToken = null;      
            $username = \app\models\User::findByUsername($username);
            if ($username!=null) 
            {
              if($username->validatePassword($password)) $user = $username;
            }   

          //  $user = \app\models\User::findOne(['username' => $username, 'password_hash' => $passwordHash]);

            if($user!=null)
            {
                $user->access_token = Yii::$app->security->generateRandomString();
                $user->save();
                $accessToken = $user->access_token;
            }        
            return [ 'access-token' => $accessToken ];
        }

它看起来还可以,只要你不需要那个令牌到期等等。看看OAuth2授权,有一些YII2包可以为您完成所有这些。如果结果为false,您可能需要验证
$user->save()
结果。
public function actionAccessTokenByUser($username, $password)
        {
            $accessToken = null;      
            $username = \app\models\User::findByUsername($username);
            if ($username!=null) 
            {
              if($username->validatePassword($password)) $user = $username;
            }   

          //  $user = \app\models\User::findOne(['username' => $username, 'password_hash' => $passwordHash]);

            if($user!=null)
            {
                $user->access_token = Yii::$app->security->generateRandomString();
                $user->save();
                $accessToken = $user->access_token;
            }        
            return [ 'access-token' => $accessToken ];
        }