как авторизовываться для SPA приложения если данные подтягиваются через API запросы с того же сервера?Laravel

        чтобы попасть вообще на страницу SPA нужно зайти под логином, и уже нужно вытащить данные по Api с этого же сервера в который зашли 
    
    сначала классическая авторизация, а потом данные вытягивать нужно по API
        
        routes/web.php
        Route::get('/{any}', [App\Http\Controllers\SpaController::class, 'index'])->where('any', '.*')->middleware('auth');
        
        class SpaController extends Controller
        {
            /**
             * Display a listing of the resource.
             *
             * @return \Illuminate\Http\Response
             */
            public function index()
            {
                return view('spa.index');
            }
        }
        
        //получать данные из vue.js
        Но доступ к маршрутам /api/v1/users/ и т .д. только авторизированным пользователям
        
                        axios.get('/api/v1/users/', {
                 
                           
                        })
                        .then((response => {
                            console.log(response);
                          
                        }))
                       
      //Есть такой вариант, что когда пользователь авторизуется запрос же попадает в контролер для возврата view()
    
    
    
    class SpaController extends Controller
        {
          
            public function index()
            {
            //получить через фасад авторизованного юзера:
            $user = \Illuminate\Support\Facades\Auth::user();
         
            //зашифровать его майл 
            if ($user) {
              $encMail = encrypt($user->email);
            }
            /**
             * Display a listing of the resource.
             *
             * @return \Illuminate\Http\Response
             */
    
               //и передать во view $encMail а в vue.js этот $encMail использовать когда будет запрос через Api а на сервере уже расшифровать этот $decryptMail = decrypt($encMail);
    и получить уже запрошенного юзера по расшифрованному email.
       
                return view('spa.index', compact('encMail'));
            }
        }

//Нормально ли так? приложение маленькое для небольшого круга лиц

спасибо!

Ответы (0 шт):