Задать вопрос
Ответы пользователя по тегу Laravel
  • Laravel как разлогинить пользователя при авторизации?

    youmixx
    @youmixx Автор вопроса
    PHP Developer
    LoginController

    public function login(Request $request) {    
            $phone = $request->password;  
            $user = User::where('phone', $phone)->first();   
    
            if ($user) {    
                Auth::login($user, true); 
                Auth::logoutOtherDevices($phone, 'password');
                return redirect()->route('catalog.index');    
            }
            else {    
                return redirect()->back();    
            }      
        }
    
        public function username() {
            return 'phone';
        }


    User.php
    protected $fillable = [
            'phone',
            'password',
        ];


    RegisterController:
    protected function validator(array $data)
        {
            return Validator::make($data, [
                'password' => ['required', 'regex:/((8|\+7)-?)?\(?\d{3,5}\)?-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}((-?\d{1})?-?\d{1})?/'],
            ]);
        }
    
        /**
         * Create a new user instance after a valid registration.
         *
         * @param  array  $data
         * @return \App\Models\User
         */
        protected function create(array $data)
        {
            return User::create([
                'phone' => $data['password'],
                'password' => Hash::make($data['password']),
            ]);
        }


    + в Kernel.php расскоментировал строку:
    \Illuminate\Session\Middleware\AuthenticateSession::class,
    Ответ написан
    Комментировать
  • Laravel авторизация/регистрация только по телефону. Как починить валидацию и вывод ошибок?

    youmixx
    @youmixx Автор вопроса
    PHP Developer
    Нашел решение:

    Я думал что валидация вообще не выполняется (т.к. min:10 не срабатывал), а оказывается он выполняется, но просто саму валидацию надо было изменить. Нашел какое-то решение проверки русс номеров, вот как-то так собственно работает.

    'phone' => ['required', 'regex:/((8|\+7)-?)?\(?\d{3,5}\)?-?\d{1}-?\d{1}-?\d{1}-?\d{1}-?\d{1}((-?\d{1})?-?\d{1})?/', 'unique:users']
    Ответ написан
    Комментировать