like & dislike opsiyonu yapiyorum. Auth icin ise Laravel'in default make:auth degil, laravel passport kullaniyorum.
vue tarafinda token ile user login logout ya da register kisminda hic bir sorun yok.
fakat like & dislike method'unu kullanmaya geldigim de Route [login] not defined hatasini aliyorum.
controller:
public function postLikeArticle( $id ){
$article = Article::where('id', '=', $id)->first();
if( !$article->likes->contains( Auth::user()->id ) ){
$article->likes()->attach( Auth::user()->id, [
'created_at' => date('Y-m-d H:i:s'),
'updated_at' => date('Y-m-d H:i:s')
] );
}
return response()->json( ['article_liked' => true], 201 );
}
public function deleteLikeArticle( $id ){
$article = Article::where('$id', '=', $id)->first();
$article->likes()->detach( Auth::user()->id );
return response(null, 204);
}
Burada kullandigim Auth::user()->id ise yaramiyor cunku passport kullandigim icin, Auth user'in login oldugunun farkinda degil.
en azindan benim anladigim bu.
Route
Route::group(['prefix' => 'v1'], function(){
Route::get('/articles', 'Api\ArticlesController@getArticles');
Route::get('/articles/{id}', 'Api\ArticlesController@getArticle');
Route::post('/login', 'Api\AuthController@login');
Route::post('/register', 'Api\AuthController@register');
});
Route::group(['prefix' => 'v1', 'middleware' => 'auth:api'], function(){
/* post new article */
Route::post('/articles', 'Api\ArticlesController@postNewArticle');
/* logout */
Route::post('/logout', 'Api\AuthController@logout');
/* post like & dislike */
Route::get('/articles/{id}/like', 'Api\ArticlesController@postLikeArticle');
// Route::post('/articles/{id}/like', 'Api\ArticlesController@deleteLikeArticle');
});
Hatayi da su sekilde aliyorum. article sayfasina gidip like button'una bastigimda consolda su sekilde beliriyor.
http://myserver.com/api/v1/articles/10/like 401 (Unauthorized)
yani user'i bulamiyor?
Normalde Laravel'in default auth uyla bu islemleri sorunsuz yapmistim.
fakat Passport kullanip token ile login islemi uygulattigimizda Auth:: yerine farkli bir kullanim mi mevcut?
Bu problemle karsilasan, cozen herhangi biri var mi?