Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Merhabalar;

Laravel ile api geliştirme konusunda bir kurs aldım. Aşağıdaki linkte anlatılan lumen ile api oluşturma yazısını uyguladım. Birkaç soru sormak istiyorum. Cevaplarsanız sevinirim.Lumen version : 7.x

  1. Token aldığım '/auth/login' middware kısmının dışında mı olacak. Zira middware dışına almayı doğru buldum. Kullanımı bu şekilde mi. ?
    `$router->post('/auth/login', 'AuthController@login');

$router->group(['middleware' => 'auth'], function () use ($router) {
$router->post('createuser', 'UserController@create');
$router->post('createquestion', 'QuestionController@create');
$router->post('submitanswer', 'AnswerController@submit');
$router->post('userlogin', 'UserController@login');
$router->post('createcategory', 'CategoryController@create');
$router->get('categories', 'CategoryController@get');
$router->get('getmyquestions/{user_id}', 'UserController@getQuestions');
$router->get('questions', 'QuestionController@getAll');
$router->get('questions/{category_id}', 'QuestionController@getByCategory');
});`

  1. Flutter ile mobil uygulama yaparken register formum mevcut. Kayıt yapmam için yetkilendirme gerekli. Daha db ye kaydetmedigim kullanıcıya nasıl yetkilendirme yapcam. Daha önceden belirlemiş olduğum kull adı ve şifre ile mi yetkilendirme yapsam register özelinde. Biraz açıklar mısınız. ?
  2. Sistemde dinamik token kullanmak istesem her istek öncesinde bu adresden '/auth/login' token mı almam gerekecek,Yoksa bir seferlik giriş sonrası sabit token ile devam etmeliyiz. ?
  3. Laravel yerine lumen tercih edeyim mi noktasında toplasam 3-4 tablom var. Fakat lumen de tepki süresi daha uzun geldi. Normal hosta atınca sorun düzelir mi. ? Denemelerim localhost üzerinde gerçekleşti.

https://www.simplifiedcoding.net/build-rest-api-using-laravel-lumen/

    UurKorkmaz

    1. Doğru, login middleware dışında olacak.
    2. Önce kullanıcının oluşması gerekiyor. Yetki vs ondan sonra devreye girer. Login gibi register da public olmalı.
    3. Dinamik token için 2 token gerekli: (Auth) token ve refresh token. Bir token aldığınızda yanında bir de refresh token alırsınız. Token'ın ömrü olur, bittiğinde tekrar login yapmazsınız (yani tekrar kullanıcı adı ve şifreye ihtiyacınız olmamalı), refresh token ile mevcut token'ın süresini uzatırsınız. Bu sırada dönen sonuç içerisinde tekrar yeni bir refresh token gelir.
    4. Lumen ile yapılan işleri gördüğümde genellikle ekleme yapıla yapıla Laravel'e dönüştüğünü gördüğüm için genellikle Laravel kullanmalarını tavsiye ediyorum. Yerel geliştirme ortamı genellikle yavaş olur (çünkü amacı geliştirme, çalıştırma değil). Debug yapıyorsanız, query logluyorsanız vs daha da yavaş olur.

      mgsmus

      1. Teşekkür ederim Sayın hocam.
      2. Login ve register formu açık olursa eğer mobil arayüzde register kısmında kişi birden çok kayıt almaz mı. İyi niyetli olmadığını düşünürsek eğer.
      3. İnceleyeceğim sayın hocam.bu konuda bilgim yoktu.
      4. Tablo sayım az olduğu için böyle birşey yapmak istedim. Laravel ile devam edebilirim.

        UurKorkmaz Register kısmında kişi birden çok kayıt yapabilir. Engellemek için GSM kullanırsınız ama iki hattı olan kişi yine iki kayıt açabilir. Bunu engelleyebileceğinizi düşünmüyorum.

          mgsmus evet hocam. Yukarıda access token dan bahsettiniz hocam. Ben 60 karakterli rastgele bir token oluşturuyorum. Sizin bahsettiğiniz kısım jwt mi oluyor. 👍

            UurKorkmaz Jwt değil, Jwt JSON web token demek, siz de kullanıyorsunuz. Benim bahsettiğim süreli tokenların yenilenmesi.

              coder2 Süreli token, refresh token vs bunlar OAuth2 protokolünden geliyor. Passport da OAuth2 üzerine kurulduğu için onda da var.