Chciałbym zrobić routa z opcjonalną autentykacją, żeby wyświetlić na stronie głównej różne elementy w zależności od tego czy i kto jest zalogowany. Wszystkie tutoriale, które znajduję jakby pomijają taką potrzebę. Czy mógłby ktoś podpowiedzieć jak to zrobić?
Robiłem według tego tutoriala: https://medium.com/modulr/create-api-authentication-with-passport-of-laravel-5-6-1dc2d400a7f
Tutaj cały mój kod: https://github.com/team9lipca/handcrafters-service/tree/pierwsze-prace
Kiedy dobijam się przez postmana do api/auth/user z tokenem to dostaję jsona z userem. Jeżeli nie podam tokena to dostaję html ze stroną logowania (też nie wiem gdzie jest przekierowanie).
W internecie piszą, żeby zmienić middleware z api na web, ale wtedy dostaję pustego jsona niezależnie czy podam token czy nie. Routy po zmianach:
<?php
Route::group([
'namespace' => 'Auth',
'middleware' => 'api',
'prefix' => 'auth'
], function () {
Route::post('login', 'AuthController@login');
Route::post('signup', 'AuthController@signup');
Route::get('signup/activate/{token}', 'AuthController@signupActivate');
Route::group([
'middleware' => 'auth:api'
], function() {
Route::get('logout', 'AuthController@logout');
});
});
Route::group([
'namespace' => 'Auth',
'middleware' => 'web',
'prefix' => 'auth'], function () {
Route::get('user', 'AuthController@user');
});