{"id":8944,"date":"2025-01-08T03:30:15","date_gmt":"2025-01-08T00:30:15","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/"},"modified":"2025-01-08T03:30:15","modified_gmt":"2025-01-08T00:30:15","slug":"next-js-ile-supabase-oturum-acma-entegrasyonu","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/","title":{"rendered":"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu"},"content":{"rendered":"<p>Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu<\/p>\n<p>Merhaba, Fatih Soysal burada. Bu makalede, Next.js uygulaman\u0131zda Supabase&#8217;in g\u00fc\u00e7l\u00fc kimlik do\u011frulama \u00f6zelliklerini nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m.  Next.js&#8217;in sunucu taraf\u0131 olu\u015fturma yeteneklerini kullanarak g\u00fcvenli ve verimli bir oturum a\u00e7ma deneyimi olu\u015fturaca\u011f\u0131z.  \u00d6ncelikle,  Supabase projesi olu\u015fturup Next.js projenizi haz\u0131rlaman\u0131z gerekiyor. Bu ad\u0131mlar\u0131 atlad\u0131ysan\u0131z, <a href=\"https:\/\/supabase.com\/\">Supabase<\/a> ve <a href=\"https:\/\/nextjs.org\/\">Next.js<\/a> dok\u00fcmanlar\u0131na g\u00f6z atabilirsiniz.  Sonras\u0131nda ise,  a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek entegre edebilirsiniz.<\/p>\n<h2>Gerekli Paketlerin Kurulumu<\/h2>\n<p>\u0130lk ad\u0131m olarak, Next.js projenize Supabase ile etkile\u015fim kurmak i\u00e7in gerekli paketleri y\u00fcklememiz gerekiyor.  Bunun i\u00e7in projenizin k\u00f6k dizininde a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>npm install @supabase\/supabase-js<\/code><\/pre>\n<p>Bu i\u015flem, Supabase istemcisini projenize ekleyecektir.  Daha sonra bu istemciyi kullanarak Supabase veritaban\u0131n\u0131zla ve kimlik do\u011frulama sisteminizle etkile\u015fim kurabilirsiniz.  \u00d6rne\u011fin, kullan\u0131c\u0131 bilgilerini almak veya yeni kullan\u0131c\u0131lar olu\u015fturmak i\u00e7in bu istemciyi kullanabilirsiniz.  Bu, g\u00fcvenli ve etkili bir \u015fekilde kullan\u0131c\u0131 bilgilerini y\u00f6netmenizi sa\u011flar.<\/p>\n<h2>Supabase \u0130stemcisinin Olu\u015fturulmas\u0131<\/h2>\n<p>\u015eimdi, Supabase istemcisini ba\u015flatal\u0131m.  Bu, Supabase URL&#8217;niz ve API anahtarlar\u0131n\u0131zla yap\u0131land\u0131r\u0131l\u0131r.  Bu bilgileri Supabase projenizin ayarlar b\u00f6l\u00fcm\u00fcnde bulabilirsiniz.   Bu bilgileri  g\u00fcvenlik a\u00e7\u0131s\u0131ndan asla  direkt olarak kodunuza yazmay\u0131n.  Bunun yerine,  .env dosyan\u0131zda saklay\u0131n ve .gitignore dosyan\u0131za ekleyin.<\/p>\n<pre><code>\/\/ pages\/api\/auth\/[...nextauth].js\n\nimport NextAuth from 'next-auth'\nimport SupabaseAdapter from '@supabase\/nextjs-auth'\nimport { createClient } from '@supabase\/supabase-js'\n\nconst supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL;\nconst supabaseAnonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY;\n\n\nconst supabase = createClient(supabaseUrl, supabaseAnonKey)\n\nexport const authOptions = {\n  adapter: SupabaseAdapter(supabase),\n  secret: process.env.NEXTAUTH_SECRET,\n  providers: [\n   \/\/ ...\n  ]\n}\n\nexport default NextAuth(authOptions)\n<\/code><\/pre>\n<p>Yukar\u0131daki kod blo\u011funda,  .env dosyan\u0131zda tan\u0131mlad\u0131\u011f\u0131n\u0131z  <code>NEXT_PUBLIC_SUPABASE_URL<\/code> ve  <code>NEXT_PUBLIC_SUPABASE_ANON_KEY<\/code>  de\u011fi\u015fkenlerini kulland\u0131k.   Bu de\u011fi\u015fkenler, Supabase projenizin URL&#8217;sini ve anonim API anahtar\u0131n\u0131z\u0131 i\u00e7ermelidir.  Bu anahtarlar\u0131  dikkatli bir \u015fekilde koruman\u0131z gerekmektedir.  Ak\u0131ll\u0131ca gizleyin ve asla  direkt olarak kodunuza yazmay\u0131n!<\/p>\n<h2>Oturum A\u00e7ma ve Oturum Kapatma \u0130\u015flemleri<\/h2>\n<p>Supabase istemcisi olu\u015fturulduktan sonra,  kullan\u0131c\u0131lar\u0131n oturum a\u00e7mas\u0131 ve oturumu kapatmas\u0131 i\u00e7in gerekli i\u015flevleri olu\u015fturabilirsiniz.  Next.js&#8217;in  getServerSideProps  veya  getStaticProps  fonksiyonlar\u0131n\u0131 kullanarak sunucu taraf\u0131nda bu i\u015flemleri ger\u00e7ekle\u015ftirebilirsiniz. Bu sayede,  kullan\u0131c\u0131 bilgilerini g\u00fcvenli bir \u015fekilde sunucunuzda i\u015fleyebilirsiniz.  \u00d6rne\u011fin,  bir oturum a\u00e7ma sayfas\u0131 olu\u015fturabilir ve kullan\u0131c\u0131 verilerini  Supabase&#8217;e g\u00fcvenli bir \u015fekilde g\u00f6nderip,  sonras\u0131nda  oturum a\u00e7m\u0131\u015f kullan\u0131c\u0131y\u0131 ilgili sayfaya y\u00f6nlendirebilirsiniz.<\/p>\n<p>Ayr\u0131ca,  Supabase&#8217;in sundu\u011fu \u00e7e\u015fitli oturum a\u00e7ma y\u00f6ntemlerini (\u00f6rne\u011fin,  Google,  GitHub,  e-posta\/\u015fifre)  entegre edebilirsiniz.  Bu sayede,  kullan\u0131c\u0131lara daha \u00e7e\u015fitli ve kullan\u0131\u015fl\u0131 oturum a\u00e7ma se\u00e7enekleri sunabilirsiniz.  Bu, kullan\u0131c\u0131 deneyimini \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirebilir.<\/p>\n<h2>G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h2>\n<p>Supabase ile entegre ederken,  g\u00fcvenli\u011fi her zaman \u00f6n planda tutmal\u0131s\u0131n\u0131z.  API anahtarlar\u0131n\u0131z\u0131 asla  kullan\u0131c\u0131 taraf\u0131na g\u00f6ndermeyin.  Her zaman sunucu taraf\u0131nda i\u015flemler yap\u0131n.  Ayr\u0131ca,  g\u00fc\u00e7l\u00fc \u015fifreleme teknikleri kullanmal\u0131 ve d\u00fczenli olarak g\u00fcvenlik g\u00fcncellemelerini uygulamal\u0131s\u0131n\u0131z.  Daha detayl\u0131 g\u00fcvenlik ipu\u00e7lar\u0131 i\u00e7in <a href=\"https:\/\/supabase.com\/docs\/guides\/auth\/security\">Supabase g\u00fcvenlik dok\u00fcmanlar\u0131na<\/a> g\u00f6z atabilirsiniz.  G\u00fcvenli\u011fi ihmal etmeden,  uygulaman\u0131z\u0131 daha g\u00fcvenli hale getirebilirsiniz.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu makalede,  Next.js ile Supabase kimlik do\u011frulama sistemini nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klad\u0131m.  Bu entegrasyon,  g\u00fcvenli ve verimli bir oturum a\u00e7ma deneyimi sa\u011flaman\u0131za yard\u0131mc\u0131 olacakt\u0131r.  Unutmay\u0131n,  g\u00fcvenlik en \u00f6nemli unsurdur;  API anahtarlar\u0131n\u0131z\u0131 gizleyin ve g\u00fcvenlik \u00f6nlemlerini uygulamay\u0131 ihmal etmeyin.  Umar\u0131m bu makale size yard\u0131mc\u0131 olmu\u015ftur.   Daha fazla bilgi i\u00e7in,  kendi blo\u011fumu ziyaret edebilirsiniz: <a href=\"https:\/\/fatihsoysal.com\">https:\/\/fatihsoysal.com<\/a><\/p>\n<p>#Etiketler: Next.js, Supabase, Oturum A\u00e7ma, Kimlik Do\u011frulama,  API,  G\u00fcvenlik,  Entegrasyon,  NextAuth.js,  SupabaseAdapter<\/p>\n","protected":false},"excerpt":{"rendered":"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu Merhaba, Fatih Soysal burada. Bu makalede, Next.js uygulaman\u0131zda Supabase&#8217;in g\u00fc\u00e7l\u00fc kimlik do\u011frulama&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-8944","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu<\/title>\n<meta name=\"description\" content=\"Merhaba, Fatih Soysal burada. Bu makalede, Next.js uygulaman\u0131zda Supabase&#039;in g\u00fc\u00e7l\u00fc kimlik do\u011frulama \u00f6zelliklerini nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Next.js&#039;in sunucu taraf\u0131 olu\u015fturma yeteneklerini kullanarak g\u00fcvenli ve verimli bir oturum a\u00e7ma deneyimi olu\u015fturaca\u011f\u0131z. \u00d6ncelikle, Supabase projesi olu\u015fturup Next.js projenizi haz\u0131rlaman\u0131z gerekiyor. Bu ad\u0131mlar\u0131 atlad\u0131ysan\u0131z, Supabase ve Next.js dok\u00fcmanlar\u0131na g\u00f6z atabilirsiniz. Sonras\u0131nda ise, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek entegre edebilirsiniz.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu\" \/>\n<meta property=\"og:description\" content=\"Merhaba, Fatih Soysal burada. Bu makalede, Next.js uygulaman\u0131zda Supabase&#039;in g\u00fc\u00e7l\u00fc kimlik do\u011frulama \u00f6zelliklerini nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Next.js&#039;in sunucu taraf\u0131 olu\u015fturma yeteneklerini kullanarak g\u00fcvenli ve verimli bir oturum a\u00e7ma deneyimi olu\u015fturaca\u011f\u0131z. \u00d6ncelikle, Supabase projesi olu\u015fturup Next.js projenizi haz\u0131rlaman\u0131z gerekiyor. Bu ad\u0131mlar\u0131 atlad\u0131ysan\u0131z, Supabase ve Next.js dok\u00fcmanlar\u0131na g\u00f6z atabilirsiniz. Sonras\u0131nda ise, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek entegre edebilirsiniz.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-08T00:30:15+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu\",\"datePublished\":\"2025-01-08T00:30:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/\"},\"wordCount\":637,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/\",\"name\":\"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-01-08T00:30:15+00:00\",\"description\":\"Merhaba, Fatih Soysal burada. Bu makalede, Next.js uygulaman\u0131zda Supabase'in g\u00fc\u00e7l\u00fc kimlik do\u011frulama \u00f6zelliklerini nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Next.js'in sunucu taraf\u0131 olu\u015fturma yeteneklerini kullanarak g\u00fcvenli ve verimli bir oturum a\u00e7ma deneyimi olu\u015fturaca\u011f\u0131z. \u00d6ncelikle, Supabase projesi olu\u015fturup Next.js projenizi haz\u0131rlaman\u0131z gerekiyor. Bu ad\u0131mlar\u0131 atlad\u0131ysan\u0131z, Supabase ve Next.js dok\u00fcmanlar\u0131na g\u00f6z atabilirsiniz. Sonras\u0131nda ise, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek entegre edebilirsiniz.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu","description":"Merhaba, Fatih Soysal burada. Bu makalede, Next.js uygulaman\u0131zda Supabase'in g\u00fc\u00e7l\u00fc kimlik do\u011frulama \u00f6zelliklerini nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Next.js'in sunucu taraf\u0131 olu\u015fturma yeteneklerini kullanarak g\u00fcvenli ve verimli bir oturum a\u00e7ma deneyimi olu\u015fturaca\u011f\u0131z. \u00d6ncelikle, Supabase projesi olu\u015fturup Next.js projenizi haz\u0131rlaman\u0131z gerekiyor. Bu ad\u0131mlar\u0131 atlad\u0131ysan\u0131z, Supabase ve Next.js dok\u00fcmanlar\u0131na g\u00f6z atabilirsiniz. Sonras\u0131nda ise, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek entegre edebilirsiniz.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/","og_locale":"tr_TR","og_type":"article","og_title":"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu","og_description":"Merhaba, Fatih Soysal burada. Bu makalede, Next.js uygulaman\u0131zda Supabase'in g\u00fc\u00e7l\u00fc kimlik do\u011frulama \u00f6zelliklerini nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Next.js'in sunucu taraf\u0131 olu\u015fturma yeteneklerini kullanarak g\u00fcvenli ve verimli bir oturum a\u00e7ma deneyimi olu\u015fturaca\u011f\u0131z. \u00d6ncelikle, Supabase projesi olu\u015fturup Next.js projenizi haz\u0131rlaman\u0131z gerekiyor. Bu ad\u0131mlar\u0131 atlad\u0131ysan\u0131z, Supabase ve Next.js dok\u00fcmanlar\u0131na g\u00f6z atabilirsiniz. Sonras\u0131nda ise, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek entegre edebilirsiniz.","og_url":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-01-08T00:30:15+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu","datePublished":"2025-01-08T00:30:15+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/"},"wordCount":637,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/","url":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/","name":"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-01-08T00:30:15+00:00","description":"Merhaba, Fatih Soysal burada. Bu makalede, Next.js uygulaman\u0131zda Supabase'in g\u00fc\u00e7l\u00fc kimlik do\u011frulama \u00f6zelliklerini nas\u0131l entegre edece\u011finizi ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131m. Next.js'in sunucu taraf\u0131 olu\u015fturma yeteneklerini kullanarak g\u00fcvenli ve verimli bir oturum a\u00e7ma deneyimi olu\u015fturaca\u011f\u0131z. \u00d6ncelikle, Supabase projesi olu\u015fturup Next.js projenizi haz\u0131rlaman\u0131z gerekiyor. Bu ad\u0131mlar\u0131 atlad\u0131ysan\u0131z, Supabase ve Next.js dok\u00fcmanlar\u0131na g\u00f6z atabilirsiniz. Sonras\u0131nda ise, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 takip ederek entegre edebilirsiniz.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/next-js-ile-supabase-oturum-acma-entegrasyonu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Next.js ile Supabase Oturum A\u00e7ma Entegrasyonu"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/8944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=8944"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/8944\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=8944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=8944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=8944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}