В модели User.php перед сохранением модели я прописываю:
public function beforeSave($insert)
    {
        // Хэширование паролей А3
        if ($this->password) {
            $this->password_hash = Yii::$app->security->generatePasswordHash($this->password);
        }
        // Хэширование рефреш токена
        if ($this->refresh_token) {
            $this->refresh_token_hash = Yii::$app->security->generatePasswordHash($this->refresh_token);
        }
        return parent::beforeSave($insert);
    }
С паролем проблем нету эта функция отрабатывает правильно:
Yii::$app->security->validatePassword($password, $user->password_hash)
Но вот с refresh_token'ом есть проблемы как выяснилось когда значения очень длинное, то после определенного момента он всегда выводит true.
public function actionRefresh()
     {
          $refresh_token = Yii::$app->request->headers->get('Authorization');
          $refresh_token = substr($refresh_token, 7);
          $decoded = User::getUserDataFromJWT($refresh_token);
          $user = User::find()
               ->where(['id' => $decoded->data->user_id])
               ->one();
          if ($user) {
               if (Yii::$app->security->validatePassword($refresh_token, $user->refresh_token_hash)) {
                          ..........
И мне нужно что то придумать как безопасно хранить refresh_toke_hash в базе данных и при этом без проблем его валидировать и проверять правильность.
Помогите пожалуйста