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

mgsmus ben ama iki ayrı proje olarak çalışıyordum nuxt ayrı laravel ayrı backend i 8000 port unda nuxt ı 3000 portunda olarak çalışıyordum ayrılardı yani yine localde

    mgsmus yani benim bu durumda bu sorunu çözmek için ne yapmam gerekiyor tam anlayamadım da

      sineld, başlığı Nuxt-Laravel Live Auth System olarak değiştirdi.

      omeruzer login adresine istek attıktan sonra frontend tarafında token'ı tutup axios'a vereceksiniz:

      const token = ...
      
      axios.defaults.headers.common["Authorization"] = `Bearer ${token}`;

      gibi. Böylece axios her istekte token da gönderecek.

      Frontend tarafında token localStorage'de mi tutulmalı başka şekilde mi tutulmalı vs bir çok tartışma var. Bunu araştırarak frontend tarafında token'ı nasıl tutacağınıza karar verebilirsiniz.

        mgsmus bu şekilde mi yapılması lazım bu şekilde işe yaramadı çünkü yine 200 dönüyor ama login olmuyor

            async login() {
              await this.$auth
                .loginWith("laravelSanctum", { data: this.form })
                .then((result) => {
                  if (result.data.message == "Success") {
                    this.$axios.defaults.headers.common["Authorization"] = `Bearer ${response.data.token}`;
                    this.$router.push("/dashboard");
                  } else {
                    this.isError = true;
                  }
                })
                .catch((err) => {
                  this.isError = true;
                });
            },

        token ı response.data.token olarak döndürüyorum

          omeruzer login olma diye bir şey yok, o stateful uygulamalara ait bir terim. Siz artık stateless ilerliyorsunuz, sunucuda sizi tutan bir yapı yok, o yüzden sizi tanımak için sizden her istekte token bekliyor. Vue router kullanmışsınız, demek ki her rota isteğinden önce token kontrolü de yapmanız gerekiyor:
          https://router.vuejs.org/guide/advanced/navigation-guards.html

            mgsmus vue değilde nuxt kullandım middleware var

            export default async function ({ $auth, redirect }) {
              const user = await $auth.loggedIn
              if (user) {
                // let the user see the page
              } else {
                // redirect to homepage
                redirect('/')
              }
            }

            bu şekilde nuxt ın özel yapılarıyla kontrol ediyorum fakat sorun login olduktan sonra oluşturduğum token oluşuyor ama devam etmiyor işlemler

              omeruzer Nuxt dokümanlarına baktım, Sanctum için provider varmış. Nuxt kullanmadığım için bunu bilmiyordum, sizin kodlar şimdi anlam kazandı benim tarafta. Sanctum sağlayıcısını inceledim, cookie şeması kullanıyormuş, dokümanda yazıyor ama siz ayrı domainlerde haberleşeceğiniz için siz local şema kullanacaksınız. Zaten dokümanda da "local is the default, credentials/token based scheme for flows like JWT" şeklinde belirtmiş:

              https://auth.nuxtjs.org/schemes/local

              auth: {
                strategies: {
                  local: {
                    token: {
                      property: 'token',
                      global: true,
                      // required: true,
                      // type: 'Bearer'
                    },
                    user: {
                      property: 'user',
                      // autoFetch: true
                    },
                    endpoints: {
                      login: { url: '/api/auth/login', method: 'post' },
                      logout: { url: '/api/auth/logout', method: 'post' },
                      user: { url: '/api/auth/user', method: 'get' }
                    }
                  }
                }
              }

                mgsmus Login sorununu şu şekilde çözdüm.

                    async login() {
                      await this.$axios.$get("/sanctum/csrf-cookie");
                      await this.$axios
                        .post("https://123.com/api/login", {
                          email: this.email,
                          password: this.password,
                        })
                        .then((resp) => {
                          this.$auth.setUserToken("local", "Bearer " + resp.data.token);
                          this.$axios.setHeader("Authorization", "Bearer " + resp.data.token);
                          this.$auth.ctx.app.$axios.setHeader(
                            "Authorization",
                            "Bearer " + resp.data.token
                          );
                          this.$axios.get("https://123.com/api/user").then((res) => {
                            this.$auth.setUser(res.data);
                            this.$router.push("/dashboard");
                          });
                        });
                    },

                fakat şu şekilde user a istek atıyor ama 401 dönüyor. token ı eklediğimde sorun çözülücek gibi bu fonksiyonu internette buldum

                  omeruzer Yani benim verdiğim cevabı dikkate almadınız 😅 Sağlık olsun, kolay gelsin.

                    mgsmus yok sizinkine bakıyorum şuanda 😃 o şekil ilerlemeye çalışıyorum sizden cevap beklerken bulmuştum 😃