Приступайте к работе с аутентифицированным защитником в laravel API - PullRequest
0 голосов
/ 12 июня 2018

У меня есть система входа в систему для нескольких охранников.Я часто использую Vue, и я пришел к тому, что мне нужна аутентификация в Vue, чтобы правильно извлекать и публиковать данные.Вопрос в том, как я могу заставить аутентифицированного пользователя сеанса работать с API.Поэтому в api.php я хочу использовать контроллер, чье Middleware проходит проверку подлинности пользователя.Я не хочу использовать Passport, потому что у меня есть только логины на веб-странице, а не API.

1 Ответ

0 голосов
/ 12 июня 2018

vue поддерживает компонент, также есть нечто, называемое реквизитами, которые представляют собой данные, которые вы можете передать своему компоненту vue. Обычно я передаю аутентифицированный идентификатор пользователя моему компоненту vue, а затем, когда я запускаю запрос от компонента vue.Я передам текущего аутентифицированного пользователя бэкэнду, и там я проверяю, совпадает ли идентификатор, полученный с запросом, с текущим аутентифицированным пользователем.

проверьте пример ниже, я буду использовать обычный сторож

загрузка компонента vue из блейда

//loading vue test-component and pass the authenticated user 
<test-component :authuser="{{Auth::(user)->id}}"></test-component>

компонент vue

<script>
export default {
    props : ['authuser'], //should be the same name as you passed it
    data(){
        return {

        }
    },
    created(){
        axios.post('/api/test' , {
             'authuser' : this.authuser
        })
        .then(res => {
            console.log(res);
        })
        .catch(err => {

        });
    }
}

Маршрут API

use Auth;

Route::post('api/test' , function($request){
    if(Auth::user()->id == $request->authuser)
       return 'you are authenticated';
    else 
       return 'you are not authenticated';
});

Надеюсь, вы найдете это полезным, Удачи.

...