Takip et

n8n Google Sign-In Yerel Kurulumu: Adım Adım Rehber

n8n’i Google Sign-In ile yerel olarak kurmak mı istiyorsunuz? Bu kapsamlı rehber, otomasyon iş akışlarınızı güvenli ve verimli bir şekilde yönetmek için gerekli tüm adımları detaylıca açıklıyor. Adım adım yönergelerle, n8n ortamınızı Google kimlik doğrulamasıyla donatacak, böylece kullanıcı yönetimini basitleştirirken güvenliği de artıracaksınız.

Günümüz iş dünyasında verimlilik ve hız, her zamankinden daha kritik bir öneme sahip. İş akışlarını otomatikleştirmek, tekrarlayan görevlerden kurtularak ekiplerin daha stratejik işlere odaklanmasını sağlar. İşte tam bu noktada, açık kaynaklı ve güçlü bir otomasyon aracı olan n8n devreye giriyor. n8n, low-code/no-code yaklaşımıyla teknik olmayan kullanıcıların bile karmaşık entegrasyonları kolayca kurmasına olanak tanır. Ancak, herhangi bir iş akışı platformunu kullanırken akıllara gelen ilk sorulardan biri şüphesiz “Güvenlik nasıl sağlanacak?” oluyor. Özellikle hassas verilere veya sistemlere erişim söz konusu olduğunda, kimlik doğrulama mekanizmalarının sağlamlığı hayati önem taşır. Bu bağlamda, Google Sign-In gibi yaygın ve güvenilir bir kimlik doğrulama yöntemini n8n ile entegre etmek, hem kullanıcı deneyimini iyileştirir hem de güvenlik standartlarını üst seviyeye taşır. Peki, bu güçlü ikiliyi yerel geliştirme ortamımızda nasıl bir araya getirebiliriz?

Bu makalede, n8n’i yerel bir ortamda Google Sign-In ile nasıl kuracağınızı adım adım, detaylı bir şekilde ele alacağız. Amacımız, sıfırdan başlayan bir kullanıcı için bile anlaşılır bir rehber sunmak, böylece herkesin kendi otomasyon süreçlerini güvenli bir şekilde başlatabilmesini sağlamaktır. Sadece teknik adımları değil, aynı zamanda bu entegrasyonun neden önemli olduğunu ve gerçek dünya senaryolarında nasıl faydalar sağlayabileceğini de inceleyeceğiz. Kullanıcılarınızın Google hesaplarıyla kolayca oturum açmasını sağlarken, n8n’in sunduğu sınırsız otomasyon yeteneklerinden tam anlamıyla yararlanmak için hazır mısınız? O zaman, güvenlik ve otomasyonun bu mükemmel birleşimine dalalım.

Bu rehber boyunca, Google API Konsolu’ndaki gerekli ayarlardan başlayarak, n8n’i Docker ile yerel bir ortamda kurmaya ve son olarak Google Sign-In kimlik doğrulamasını aktif etmeye kadar tüm süreci ele alacağız. Ayrıca, ileri düzey ipuçları ve sıkça sorulan sorularla karşılaşabileceğiniz olası sorunlara da çözümler sunacağız. Nihayetinde, bu entegrasyon sayesinde otomasyon süreçlerinizin hem daha erişilebilir hem de daha güvenli hale geldiğini göreceksiniz. Otomasyon yolculuğunuzda karşılaşacağınız her engeli aşmanıza yardımcı olacak bu kapsamlı kılavuz, size rehberlik etmek için tasarlandı.

n8n ve Google Sign-In: Temel Kavramlara Hızlı Bir Bakış

Otomasyon dünyasına adım atarken, “n8n” ve “Google Sign-In” gibi terimlerle sıkça karşılaşırız. Bu kavramları derinlemesine anlamak, yerel kurulum sürecini daha verimli hale getirecektir. İlk olarak, n8n nedir ve neden bu kadar popülerdir? n8n, geliştiricilerin ve iş kullanıcılarının uygulamalar, API’ler ve hizmetler arasında iş akışlarını otomatik olarak oluşturmasına olanak tanıyan, açık kaynaklı bir low-code/no-code otomasyon aracıdır. Grafiğe dayalı arayüzü sayesinde, kod yazmaya gerek kalmadan karmaşık entegrasyonlar tasarlamak mümkündür. Örneğin, bir web formundan gelen verileri alıp, bir veritabanına kaydetmek, ardından bir e-posta göndermek veya bir Slack kanalına bildirim atmak gibi işlemleri n8n ile kolayca yapabilirsiniz. Bu esneklik ve erişilebilirlik, n8n’i birçok kuruluş için vazgeçilmez bir araç haline getirir. Ancak, bu kadar güçlü bir aracı kullanırken kimin, hangi yetkilerle sisteme eriştiğini bilmek ve yönetmek büyük önem taşır.

İşte tam bu noktada “Google Sign-In” kavramı devreye giriyor. Google Sign-In, kullanıcıların mevcut Google hesaplarını kullanarak uygulamalara veya web sitelerine güvenli bir şekilde giriş yapmalarını sağlayan bir kimlik doğrulama hizmetidir. Temelde, OAuth 2.0 protokolünü kullanır. OAuth 2.0, kullanıcı kimlik bilgilerini doğrudan uygulamayla paylaşmak yerine, uygulamanın kullanıcının Google hesabındaki belirli bilgilere (örneğin, e-posta adresi, profil resmi) erişim izni almasını sağlayan bir yetkilendirme çerçevesidir. Bu sayede, kullanıcılar her yeni uygulama için ayrı bir kullanıcı adı ve şifre oluşturmak zorunda kalmazken, geliştiriciler de kendi kimlik doğrulama sistemlerini baştan sona inşa etmek zorunda kalmazlar. Dolayısıyla, Google Sign-In entegrasyonu, hem kullanıcı deneyimini basitleştirir hem de geliştiricilere güçlü ve güvenli bir kimlik doğrulama çözümü sunar.

Peki, neden n8n ile Google Sign-In’ı bir araya getirmeliyiz? Birincisi, güvenlik. Google’ın sağlam kimlik doğrulama altyapısı, n8n kurulumunuzun yetkisiz erişime karşı korunmasına yardımcı olur. İkincisi, kullanıcı kolaylığı. Çalışanlarınız veya ekip üyeleriniz, n8n arayüzüne giriş yapmak için mevcut Google hesaplarını kullanabilir, bu da şifre yönetimi karmaşasını azaltır. Üçüncüsü, yönetilebilirlik. Geniş bir kullanıcı tabanına sahip kuruluşlar için, Google Workspaces veya Google Cloud Identity ile entegrasyon, kullanıcıların erişimini merkezi olarak yönetmeyi kolaylaştırır. Özellikle ekip içi otomasyon süreçlerinde, kimin hangi iş akışlarına erişebileceğini Google grupları veya kullanıcıları üzerinden kontrol etmek, yönetim yükünü önemli ölçüde azaltabilir. Bu entegrasyon sayesinde, n8n’in sunduğu otomasyon gücünden taviz vermeden, modern ve güvenli bir kimlik doğrulama deneyimi sunabilirsiniz. Bu nedenle, n8n’i yerel olarak kurarken Google Sign-In’ı düşünmek, projenizin uzun vadeli başarısı için stratejik bir adımdır.

Ön Hazırlıklar: Google API Konsolunda Neler Yapılmalı?

n8n’i Google Sign-In ile kullanabilmek için, ilk ve en önemli adım Google API Konsolu’nda gerekli yapılandırmaları yapmaktır. Bu süreç, uygulamanızın (bu durumda n8n’in) Google’dan kullanıcı kimliği doğrulaması yapabilmesi için bir “kimlik” almasını içerir. Endişelenmeyin, bu adımlar oldukça basittir ve sizi adım adım yönlendireceğim. Öncelikle bir Google hesabına sahip olmanız gerekmektedir. Eğer yoksa, bir tane oluşturarak başlayın.

  1. Google Cloud Konsoluna Erişim: Tarayıcınızdan console.cloud.google.com adresine gidin ve Google hesabınızla giriş yapın.
  2. Yeni Bir Proje Oluşturma: Sağ üst köşede bulunan proje seçme menüsüne tıklayın ve “Yeni Proje” (New Project) seçeneğini seçin. Projenize “n8n Otomasyon” veya benzeri anlamlı bir isim verin. Bu proje, n8n’inizin Google API’leri ile iletişim kuracağı temel alan olacaktır. Proje oluşturma işlemi birkaç saniye sürebilir.
  3. OAuth Onay Ekranı Yapılandırması: Sol menüden “API’ler ve Hizmetler” (APIs & Services) altında “OAuth Onay Ekranı”nı (OAuth Consent Screen) seçin.
    • Kullanıcı Türü (User Type): “Harici” (External) seçeneğini seçin ve “Oluştur”a (Create) tıklayın. Dahili seçeneği sadece Google Workspace kullanıcıları içindir.
    • Uygulama Bilgileri (App Information): Uygulama adı (n8n), destek e-postası ve iletişim e-postası gibi alanları doldurun. Logo eklemek isteyebilirsiniz.
    • Kapsamlar (Scopes): Bu adımda, uygulamanızın kullanıcının Google hesabında hangi bilgilere erişim izni istediğini belirtirsiniz. n8n için temel Google Sign-In işlevselliği için genellikle .../auth/userinfo.email ve .../auth/userinfo.profile gibi kapsamlar yeterlidir. Bu sayede n8n, kullanıcının e-posta adresini ve temel profil bilgilerini alabilir. “Kapsam Ekle veya Kaldır” (Add or Remove Scopes) seçeneği ile bu kapsamları ekleyin.
    • Test Kullanıcıları (Test Users): Geliştirme aşamasında, bu ekrana erişebilecek test kullanıcılarının e-posta adreslerini eklemeniz gerekmektedir. Kendi Google hesabınızı buraya ekleyin.
    • Özet: Tüm adımları tamamladıktan sonra, onay ekranının özetini gözden geçirin ve “Pano’ya Dön” (Back to Dashboard) veya “Kaydet ve Devam Et” (Save and Continue) butonuna tıklayın. Uygulamanızın “Yayınlama Durumu” (Publishing status) “Test” olarak kalabilir, çünkü yerel kullanım için genellikle yayınlamaya gerek duyulmaz.
  4. Kimlik Bilgileri Oluşturma (Client ID ve Client Secret): Sol menüden “Kimlik Bilgileri”ne (Credentials) gidin.
    • “Kimlik Bilgileri Oluştur” (Create Credentials) butonuna tıklayın ve açılır menüden “OAuth istemci kimliği”ni (OAuth client ID) seçin.
    • Uygulama Türü (Application Type): “Web uygulaması”nı (Web application) seçin.
    • Ad (Name): İstemcinize “n8n Yerel” gibi bir ad verin.
    • Yetkilendirilmiş JavaScript Kaynakları (Authorized JavaScript origins): Bu alanı boş bırakabilirsiniz, çünkü n8n doğrudan JavaScript çağrıları yapmayacak.
    • Yetkilendirilmiş Yeniden Yönlendirme URI’leri (Authorized redirect URIs): Burası çok önemlidir. n8n, kimlik doğrulama işlemi tamamlandıktan sonra kullanıcıyı bu adrese yönlendirecektir. Yerel kurulum için genellikle aşağıdaki URI’yi kullanırız:
      http://localhost:5678/rest/oauth2-google/authenticate


      Bu URI'yi ekledikten sonra "Oluştur"a (Create) tıklayın.

  5. Client ID ve Client Secret Kaydetme: "Oluştur"a tıkladıktan sonra, size bir "İstemci Kimliği" (Client ID) ve "İstemci Sırrı" (Client Secret) verilecektir. Bu bilgileri güvende tutun ve bir yere not alın. Bu iki bilgi, n8n'inizin Google API'leri ile kimlik doğrulaması yapabilmesi için anahtarlar olacaktır. Bu bilgiler asla üçüncü şahıslarla paylaşılmamalıdır!

Bu adımları tamamladığınızda, n8n'inizin Google ile güvenli bir şekilde iletişim kurması için gerekli olan temelleri atmış olacaksınız. Şimdi sıra n8n'i kendi yerel makinemizde kurmaya geldi.

Uzman İpucu: Google Cloud Console'da oluşturduğunuz her projenin kendine özgü bir faturalandırma hesabı olabilir. Yerel ve test amaçlı kullanımlarda genellikle ücretlendirme olmazken, API kullanım kotalarını aşmamaya dikkat edin. Ayrıca, Client Secret bilginizi asla doğrudan kodun içine yazmayın; bunun yerine ortam değişkenlerini (environment variables) kullanın.

n8n Yerel Kurulumu: Docker ile Güvenli ve Kolay Başlangıç

n8n'i yerel bir ortamda çalıştırmanın birçok yolu olsa da, Docker ve Docker Compose kullanmak en pratik ve önerilen yöntemdir. Docker, uygulamaları izole edilmiş "konteynerler" içinde çalıştırmamızı sağlayarak, bağımlılık çakışmalarını önler ve farklı ortamlarda tutarlı bir çalışma deneyimi sunar. Kısacası, "benim makinemde çalışıyordu" sendromuna veda etmenizi sağlar. Docker Compose ise birden fazla Docker konteynerini tek bir YAML dosyasıyla tanımlamanıza ve yönetmenize olanak tanır, bu da n8n'in veritabanı gibi ek hizmetlerle birlikte kolayca ayağa kaldırılmasını sağlar.

Eğer henüz Docker ve Docker Compose yüklü değilse, işletim sisteminize uygun kurulum yönergeleri için Docker resmi web sitesini ziyaret etmeniz gerekmektedir. Kurulum genellikle birkaç basit komutla tamamlanır ve birçok işletim sistemi için tek tıkla yükleyici sunulmaktadır. Kurulum tamamlandıktan sonra, terminalinizi açın ve aşağıdaki komutları çalıştırarak Docker'ın doğru şekilde yüklendiğini kontrol edebilirsiniz:


docker --version
docker-compose --version

Bu komutlar, Docker ve Docker Compose'un yüklü sürümlerini göstermelidir. Her şey yolundaysa, şimdi n8n'i yapılandırmak için docker-compose.yml dosyamızı oluşturalım. Bu dosya, n8n servisinin yanı sıra, Google Sign-In için gerekli ortam değişkenlerini de içerecektir. Projeniz için yeni bir dizin oluşturun (örneğin, n8n-google-auth) ve bu dizinin içine docker-compose.yml adında bir dosya oluşturun:


mkdir n8n-google-auth
cd n8n-google-auth
touch docker-compose.yml

Şimdi docker-compose.yml dosyasını favori metin düzenleyicinizle açın ve aşağıdaki içeriği yapıştırın. Bu yapılandırma, n8n'in en son sürümünü çeker, 5678 portunda dinler ve Google Sign-In için gerekli olan Client ID ile Client Secret'ı ortam değişkenleri olarak tanımlar:


version: '3.8'

services:
  n8n:
    image: n8n.io/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=${SUBDOMAIN}.localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - WEBHOOK_URL=http://${SUBDOMAIN}.localhost:5678/
      - N8N_USER_MANAGEMENT_BASE_URL=http://${SUBDOMAIN}.localhost:5678/
      - N8N_BASIC_AUTH_ACTIVE=false # Varsayılan kullanıcı kaydını devre dışı bırakır, Google ile giriş zorunlu olur
      - N8N_EDITOR_BASE_URL=http://${SUBDOMAIN}.localhost:5678/
      - N8N_OAUTH_GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
      - N8N_OAUTH_GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
      - N8N_EMAIL_AUTH_ACTIVE=false # İsteğe bağlı: E-posta ile kaydı kapatmak için
    volumes:
      - n8n_data:/home/node/.n8n
    networks:
      - n8n_network

volumes:
  n8n_data:

networks:
  n8n_network:

Yukarıdaki yapılandırmada birkaç önemli noktaya dikkat çekmek isterim:

  • image: n8n.io/n8n: n8n'in resmi Docker imajını kullanır.
  • ports: - "5678:5678": n8n uygulamasının 5678 numaralı port üzerinden erişilebilir olmasını sağlar. Tarayıcınızdan http://localhost:5678 adresine giderek n8n arayüzüne ulaşacaksınız.
  • environment:: Bu bölümde, n8n'in çalışma zamanı ortam değişkenlerini tanımlarız.
    • N8N_OAUTH_GOOGLE_CLIENT_ID ve N8N_OAUTH_GOOGLE_CLIENT_SECRET: İşte burası Google Cloud Console'dan aldığınız İstemci Kimliği ve Sırrı bilgilerini gireceğiniz yerdir. Ancak bu bilgileri doğrudan docker-compose.yml dosyasına yazmak yerine, güvenlik amacıyla ayrı bir .env dosyası kullanmayı tercih edeceğiz.
    • N8N_BASIC_AUTH_ACTIVE=false: Bu ayar, n8n'in varsayılan e-posta/şifre ile kullanıcı oluşturma seçeneğini kapatır, böylece Google Sign-In ana giriş yöntemi haline gelir. Bu, özellikle sadece Google hesaplarıyla erişim isteyen kuruluşlar için önemli bir güvenlik adımıdır.
    • WEBHOOK_URL ve N8N_USER_MANAGEMENT_BASE_URL: Bu URL'lerin http://localhost:5678/ olarak doğru ayarlandığından emin olun. Google Cloud Console'daki yönlendirme URI'si ile tutarlı olmalıdır.
    • ${SUBDOMAIN}.localhost: Yerel geliştirme için genellikle SUBDOMAIN değişkenini tanımlamayız ve bu kısmı localhost olarak kabul ederiz. Eğer bir subdomain kullanmayacaksanız, bu kısmı doğrudan localhost olarak değiştirebilirsiniz.
  • volumes: - n8n_data:/home/node/.n8n: Bu, n8n'in tüm verilerini (iş akışları, ayarlar vb.) host makinenizde kalıcı olarak saklamasını sağlar. Böylece konteyner silinse bile verileriniz güvende kalır.

Şimdi docker-compose.yml dosyanızla aynı dizinde .env adında yeni bir dosya oluşturun ve Google Client ID ve Client Secret bilgilerini buraya ekleyin:


GOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET=YOUR_GOOGLE_CLIENT_SECRET
SUBDOMAIN= # Yerel kurulumda boş bırakılabilir

Lütfen YOUR_GOOGLE_CLIENT_ID ve YOUR_GOOGLE_CLIENT_SECRET kısımlarını kendi bilgilerinizle değiştirin. .env dosyası, hassas bilgilerin docker-compose.yml gibi versiyon kontrol sistemine (git) girmesini engellemek için ideal bir yöntemdir. Bu sayede, güvenlik açıkları riskini minimize etmiş olursunuz.

Bu adımları tamamladığınızda, n8n'i çalıştırmak için tüm ön hazırlıklar tamamlanmış demektir. Docker Compose sayesinde, n8n'i tek bir komutla kolayca başlatabileceksiniz. Bu yapılandırma, n8n'i güvenli ve sürdürülebilir bir şekilde yerel ortamınızda çalıştırmak için mükemmel bir temel sağlar.

n8n'i Google Sign-In ile Başlatma ve Yapılandırma

Google Cloud Console'da gerekli tüm hazırlıkları yaptıktan ve n8n için docker-compose.yml ile .env dosyalarını yapılandırdıktan sonra, artık n8n'i başlatma ve Google Sign-In entegrasyonunu test etme zamanı geldi. Bu aşama, tüm emeklerinizin meyvesini göreceğiniz yerdir.

n8n'i başlatmak için, docker-compose.yml ve .env dosyalarının bulunduğu dizinde terminalinizi açın ve aşağıdaki komutu çalıştırın:


docker-compose up -d

Bu komut, Docker Compose'a docker-compose.yml dosyasında tanımlanan servisleri (bu durumda sadece n8n) arka planda (detached mode -d) başlatmasını söyler. Docker, gerekli n8n imajını indirecek (ilk çalıştırmada biraz zaman alabilir) ve ardından konteyneri oluşturup çalıştıracaktır. İşlem başarıyla tamamlandığında, terminalde herhangi bir hata mesajı görmemeniz gerekir. Çalışan konteynerleri kontrol etmek için docker ps komutunu kullanabilirsiniz. Çıktıda n8n adında bir konteyner görmelisiniz.

Konteyner çalışmaya başladıktan sonra, n8n'in web arayüzüne erişmek için tarayıcınızı açın ve http://localhost:5678 adresine gidin. Eğer her şey doğru yapılandırıldıysa, sizi n8n'in hoş geldiniz ekranı karşılamalıdır. Ancak bu sefer, geleneksel e-posta ve şifre ile kayıt formunu görmek yerine, doğrudan Google ile giriş yapma seçeneğiyle karşılaşmalısınız. Bu, N8N_BASIC_AUTH_ACTIVE=false ve N8N_OAUTH_GOOGLE_CLIENT_ID ile N8N_OAUTH_GOOGLE_CLIENT_SECRET ortam değişkenlerinin doğru ayarlandığının bir göstergesidir.

İlk kez n8n'e eriştiğinizde, bir yönetici hesabı oluşturmanız istenecektir. Bu yönetici hesabı, Google Sign-In üzerinden oluşturulacaktır. Karşınıza çıkan ekranda "Google ile Giriş Yap" (Sign in with Google) veya benzeri bir buton göreceksiniz. Bu butona tıklayın.

Tıkladığınızda, Google'ın kimlik doğrulama ekranına yönlendirileceksiniz. Burada, n8n'e erişim yetkisi vermek istediğiniz Google hesabını seçmeniz istenecektir. Hatırlarsanız, Google Cloud Console'da test kullanıcıları arasına kendi Google hesabınızı eklemiştik. Bu hesabı seçerek devam edin. Eğer birden fazla Google hesabı ile giriş yaptıysanız, doğru hesabı seçtiğinizden emin olun.

Google, n8n'in hangi bilgilere (e-posta adresi, temel profil bilgileri gibi) erişmek istediğini size bildirecek bir onay ekranı gösterecektir. "Devam et" (Continue) veya "İzin Ver" (Allow) seçenekleriyle n8n'e gerekli yetkileri verin. Bu adım, OAuth 2.0 protokolünün temel bir parçasıdır ve sizin izniniz olmadan hiçbir bilgi paylaşılmaz.

Yetkilendirme işlemi başarıyla tamamlandığında, Google sizi tekrar n8n arayüzüne yönlendirecektir. Bu sefer, n8n'in ana panosunu görmelisiniz. Artık n8n'e Google hesabınızla başarıyla giriş yapmış ve yönetici olarak erişim sağlamış olmalısınız. Buradan itibaren, kendi otomasyon iş akışlarınızı oluşturmaya başlayabilirsiniz. İlk giriş yapan kullanıcı otomatik olarak yönetici yetkilerine sahip olacaktır. Gelecekteki girişler için de aynı Google hesabı kullanılacaktır.

Eğer Google ile giriş yapma seçeneğini görmezseniz veya bir hata alırsanız, aşağıdaki adımları kontrol etmeniz önemlidir:

  • Google Cloud Console'da Client ID ve Client Secret'ı doğru girdiğinizden emin olun.
  • Yetkilendirilmiş Yeniden Yönlendirme URI'sinin (http://localhost:5678/rest/oauth2-google/authenticate) doğru ve eksiksiz olarak eklendiğinden emin olun. Herhangi bir yazım hatası veya eksiklik hataya neden olabilir.
  • .env dosyasındaki GOOGLE_CLIENT_ID ve GOOGLE_CLIENT_SECRET değişkenlerinin doğru ve eksiksiz olduğundan emin olun.
  • docker-compose up -d komutunu yeniden çalıştırmadan önce docker-compose down komutuyla mevcut konteyneri durdurup silmek ve ardından tekrar başlatmak, yapılan değişikliklerin uygulanmasını sağlayabilir.
  • Tarayıcınızın önbelleğini temizlemek veya farklı bir tarayıcı kullanmak bazen yardımcı olabilir.

Bu adımlarla, n8n'i Google Sign-In kimlik doğrulamasıyla yerel olarak başarıyla kurmuş ve yapılandırmış olmalısınız. Artık otomasyon projelerinizde Google'ın güvenli ve kullanıcı dostu kimlik doğrulama sisteminden yararlanabilirsiniz. Bu entegrasyon, kullanıcı yönetimini basitleştirirken aynı zamanda n8n ortamınızın güvenliğini de artırır.

Gerçek Dünya Senaryosu: Müşteri Geri Bildirimlerinin Otomatikleştirilmesi

Şimdiye kadar n8n'i Google Sign-In ile yerel olarak nasıl kuracağımızı öğrendik. Peki, bu entegrasyon gerçek dünyada hangi senaryolarda bize ne gibi faydalar sağlar? Bir vaka analizi ile konuyu daha somut hale getirelim: "Müşteri Geri Bildirimlerinin Otomatikleştirilmesi".

Küçük ve orta ölçekli bir e-ticaret işletmesi olan "El İşi Cenneti", ürünleri hakkında müşteri geri bildirimlerini manuel olarak topluyor ve değerlendiriyordu. Müşteriler genellikle e-posta gönderiyor, bu e-postalar elle okunuyor, ilgili bilgiler bir Excel dosyasına işleniyor ve ardından her müşteriye elle bir teşekkür e-postası gönderiliyordu. Bu süreç zaman alıcıydı, hataya açıktı ve işletmenin büyümesiyle birlikte sürdürülemez hale gelmişti. İşletme sahibi, bu süreci otomatikleştirmek için bir çözüm arayışındaydı.

Problem ve Çözüm:

Problem: Manuel müşteri geri bildirim süreci, zaman kaybı, verimsizlik ve hata potansiyeli.

Çözüm: n8n'i Google Sign-In ile yerel olarak kurarak, Google Forms, Google Sheets ve Gmail entegrasyonları ile tam otomatik bir geri bildirim sistemi oluşturmak.

n8n ve Google Sign-In Entegrasyonunun Rolü:

Bu senaryoda Google Sign-In entegrasyonunun birkaç kritik rolü bulunmaktadır:

  1. Güvenli Yönetici Erişimi: İşletme sahibi veya ilgili ekip üyeleri, n8n paneline kendi Google hesaplarıyla güvenli bir şekilde giriş yapabilirler. Bu, n8n'in hassas müşteri verilerini işleyeceği düşünüldüğünde, yetkisiz erişimi engellemek için hayati önem taşır. Ayrıca, şifre hatırlama veya kaybetme sorunları ortadan kalkar.
  2. Google Servislerine Yetkilendirilmiş Erişim: n8n'in Google Forms'tan veri okuması, Google Sheets'e veri yazması ve Gmail üzerinden e-posta göndermesi için Google hesaplarına yetkilendirilmiş erişime ihtiyacı vardır. Google Sign-In sayesinde, n8n'in paneline erişen yönetici kullanıcı, kendi Google hesabının yetkileriyle bu diğer Google servislerine güvenli bir şekilde bağlanabilir ve iş akışlarını bu yetkilerle çalıştırabilir. Bu, her bir servis için ayrı ayrı API anahtarları veya servis hesapları yönetme yükünü azaltır ve merkezi bir kontrol sağlar.
  3. Ekip İş Birliği ve Yetkilendirme: Eğer birden fazla kişi n8n'i kullanacaksa, Google Sign-In, farklı ekip üyelerinin Google hesaplarını kullanarak sisteme giriş yapmasını sağlar. Google Cloud'daki izinlerle, kimin hangi iş akışını düzenleyebileceği veya çalıştırabileceği daha sonra yapılandırılabilir.

Otomatikleştirilmiş İş Akışı Adımları:

İşletme sahibi, n8n paneline Google Sign-In ile giriş yaptıktan sonra aşağıdaki adımları içeren bir iş akışı oluşturur:

  1. Tetikleyici (Trigger): Google Forms Yeni Yanıt: Müşteriler, "El İşi Cenneti"nin web sitesindeki bir geri bildirim formunu (Google Forms ile oluşturulmuş) doldurur. Her yeni form yanıtı, n8n iş akışını tetikler. Bu tetikleyici için n8n, Google Forms'a bağlanmak üzere Google hesabının yetkilerini kullanır.
  2. Veri İşleme (Data Processing): n8n, form yanıtındaki verileri (müşteri adı, e-posta, geri bildirim içeriği, puanlama vb.) alır. Gerekirse, verileri temizleyebilir veya formatlayabilir (örneğin, büyük/küçük harf düzeltmeleri).
  3. Veritabanına Kayıt (Google Sheets Node): İşlenmiş veriler, önceden hazırlanmış bir Google Sheets tablosuna yeni bir satır olarak eklenir. Bu sayede tüm müşteri geri bildirimleri merkezi ve düzenli bir şekilde depolanır. n8n'in Google Sheets nodu, yine yönetici kullanıcının Google hesabının izinleriyle bu işlemi gerçekleştirir.
  4. Otomatik Teşekkür E-postası (Gmail Node): Müşteriye, geri bildirimi için otomatik bir teşekkür e-postası gönderilir. Bu e-posta, geri bildirim içeriğine göre kişiselleştirilebilir (örneğin, "Sayın [Müşteri Adı], değerli geri bildiriminiz için teşekkür ederiz..."). Gmail nodu da n8n kullanıcısının Google hesabının yetkilerini kullanarak e-postayı gönderir.
  5. Dahili Bildirim (Opsiyonel - Slack/Telegram/Microsoft Teams Node): İşletme yöneticisi veya ilgili ekip, yeni bir geri bildirim geldiğinde bir Slack kanalına veya Microsoft Teams grubuna otomatik bir bildirim alabilir.

Bu otomasyon sayesinde "El İşi Cenneti":

  • Geri bildirim süreçlerinde %80 zaman tasarrufu sağladı.
  • Müşteri geri bildirimlerini daha hızlı ve tutarlı bir şekilde yanıtlayarak müşteri memnuniyetini artırdı.
  • Hata olasılığını azalttı ve veri girişindeki tutarlılığı sağladı.
  • Ekip üyelerini tekrarlayan manuel görevlerden kurtararak daha önemli işlere odaklanmalarını sağladı.

Bu senaryo, n8n'in Google Sign-In ile yerel kurulumunun sadece basit bir kimlik doğrulama aracı olmadığını, aynı zamanda daha büyük, entegre ve güvenli iş akışlarının temelini oluşturduğunu göstermektedir. Güvenli giriş, Google hizmetlerine yetkili erişim ve merkezi yönetim, bu tür otomasyon projelerinde kritik başarı faktörleridir.

İleri Düzey İpuçları ve Güvenlik Best Practices

n8n'i Google Sign-In ile yerel olarak başarıyla kurduktan sonra, deneyiminizi daha da geliştirecek ve güvenliği artıracak bazı ileri düzey ipuçları ve en iyi uygulamalara değinmek önemlidir. Bu ipuçları, hem geliştirme ortamınızda hem de gelecekteki olası bir üretim ortamında n8n kurulumunuzu daha sağlam hale getirecektir.

1. Ortam Değişkenleri Yönetimi ve .env Dosyası

Daha önce .env dosyasını Client ID ve Client Secret gibi hassas bilgileri saklamak için kullandık. Bu yaklaşım, güvenlik açısından çok önemlidir ve asla taviz verilmemelidir. Ancak, bu dosyayı daha da düzenli hale getirebiliriz. Örneğin, n8n ile ilgili tüm ortam değişkenlerini .env dosyasına taşımak, docker-compose.yml dosyasını daha temiz tutar ve farklı ortamlar (geliştirme, test, üretim) arasında kolayca geçiş yapmanızı sağlar. Örnek bir .env dosyası aşağıdaki gibi olabilir:


# Google OAuth Ayarları
GOOGLE_CLIENT_ID=YOUR_GOOGLE_CLIENT_ID
GOOGLE_CLIENT_SECRET=YOUR_GOOGLE_CLIENT_SECRET

# n8n Temel Ayarları
N8N_PROTOCOL=http
N8N_HOST=localhost
N8N_PORT=5678
WEBHOOK_URL=http://localhost:5678/
N8N_EDITOR_BASE_URL=http://localhost:5678/
N8N_USER_MANAGEMENT_BASE_URL=http://localhost:5678/

# n8n Kimlik Doğrulama Ayarları
N8N_BASIC_AUTH_ACTIVE=false
N8N_EMAIL_AUTH_ACTIVE=false
N8N_OAUTH_GOOGLE_AUTH_ACTIVE=true

Daha sonra docker-compose.yml dosyasında environment bölümünde sadece bu değişkenlere referans verebilirsiniz:


    environment:
      - N8N_HOST=${N8N_HOST}
      - N8N_PORT=${N8N_PORT}
      - N8N_PROTOCOL=${N8N_PROTOCOL}
      - WEBHOOK_URL=${WEBHOOK_URL}
      - N8N_USER_MANAGEMENT_BASE_URL=${N8N_USER_MANAGEMENT_BASE_URL}
      - N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE}
      - N8N_EDITOR_BASE_URL=${N8N_EDITOR_BASE_URL}
      - N8N_OAUTH_GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
      - N8N_OAUTH_GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET}
      - N8N_EMAIL_AUTH_ACTIVE=${N8N_EMAIL_AUTH_ACTIVE}
      - N8N_OAUTH_GOOGLE_AUTH_ACTIVE=${N8N_OAUTH_GOOGLE_AUTH_ACTIVE}

Bu yaklaşım, yapılandırmayı daha modüler hale getirir ve özellikle hassas bilgiler için .env dosyasının .gitignore listesine eklenmesini sağlayarak versiyon kontrol sistemlerine yanlışlıkla yüklenmesini engeller.

2. Yerel Ortamda Bile HTTPS Kullanımı (Self-Signed Sertifikalar)

Güvenliğin temelini HTTPS oluşturur. Üretim ortamlarında olmazsa olmaz olan HTTPS, yerel geliştirme ortamınızda bile kullanılabilir. Yerel ortamda gerçek bir SSL sertifikası almak yerine, kendi imzaladığınız (self-signed) sertifikaları kullanabilirsiniz. Bu, tarayıcınızda "güvenli değil" uyarısı vermesine rağmen, HTTPS'in nasıl çalıştığını anlamanıza ve üretim ortamına geçişte sorun yaşamamanıza yardımcı olur. Caddy veya Nginx gibi ters proxy'ler kullanarak n8n'inizin önüne self-signed bir sertifika ekleyebilirsiniz. Bu, özellikle Google API'leri ile çalışırken HTTPS gerektiren durumlar için önemlidir.


# Örnek bir Caddyfile (Caddy web sunucusu için)
# local.n8n.io {
#     tls /path/to/selfsigned.crt /path/to/selfsigned.key
#     reverse_proxy n8n:5678
# }

3. Alan Adı Bağlama ve Webhook URL'lerinin Yönetimi

localhost yerine, geliştirme ortamınız için özel bir alan adı (örneğin, n8n.test veya dev.n8n.io) kullanmak isteyebilirsiniz. Bu, /etc/hosts dosyanızı düzenleyerek (veya Windows'ta eşdeğerini) ve bu alan adını 127.0.0.1'e yönlendirerek yapılabilir. Ardından, Google Cloud Console'daki Yetkilendirilmiş Yeniden Yönlendirme URI'lerini ve n8n'in WEBHOOK_URL ile N8N_EDITOR_BASE_URL ortam değişkenlerini bu yeni alan adına göre güncellemeniz gerekecektir. Örneğin:


# .env dosyası içinde
N8N_HOST=n8n.test
N8N_PROTOCOL=https # Eğer HTTPS kullanılıyorsa
WEBHOOK_URL=https://n8n.test/
N8N_EDITOR_BASE_URL=https://n8n.test/
N8N_USER_MANAGEMENT_BASE_URL=https://n8n.test/

Bu, özellikle üretim ortamına geçiş yaparken daha gerçekçi bir ortam sağlar ve olası URL ile ilgili sorunları önceden tespit etmenize yardımcı olur.

4. Üretim Ortamına Geçiş İpuçları

Yerel kurulumunuzdan memnun kaldığınızda ve üretim ortamına geçmek istediğinizde, aşağıdaki ek konuları göz önünde bulundurmalısınız:

  • Ters Proxy (Reverse Proxy): n8n'i doğrudan internete açmak yerine, Nginx veya Caddy gibi bir ters proxy'nin arkasına koyun. Bu, SSL sonlandırma, yük dengeleme, güvenlik duvarı kuralları ve statik dosya sunumu gibi ek güvenlik ve performans katmanları eklemenizi sağlar.
  • Güçlü Şifreleme ve Veritabanı Güvenliği: n8n varsayılan olarak SQLite kullanır, bu küçük projeler için uygun olsa da, üretim ortamında PostgreSQL gibi daha sağlam bir veritabanı kullanmanız önerilir. Veritabanı bağlantı bilgilerini güvenli bir şekilde saklayın ve güçlü parolalar kullanın.
  • Sürekli Entegrasyon/Sürekli Dağıtım (CI/CD): İş akışlarınızı ve n8n yapılandırmanızı bir versiyon kontrol sisteminde (Git) saklayın ve otomatik dağıtım süreçleri (CI/CD) kurarak güncellemeleri kolaylaştırın.
  • Yedekleme ve Felaket Kurtarma: n8n verilerinizin (volume'lerinizin) düzenli olarak yedeklendiğinden ve bir felaket durumunda kolayca geri yüklenebildiğinden emin olun.
  • Güncelleme Politikası: n8n ve Docker imajlarını düzenli olarak güncelleyerek güvenlik yamalarından ve yeni özelliklerden yararlanın.

Uzman İpucu: n8n'in konteynerinde kullanılan n8n_data volume'ünü düzenli olarak yedekleyin. Bu, tüm iş akışlarınızın, kimlik bilgilerinizin ve n8n ayarlarınızın bulunduğu yerdir. Basit bir docker cp komutuyla veya volume'ü harici bir depolama birimine bağlayarak bu yedeklemeyi yapabilirsiniz.

Bu ileri düzey ipuçları ve güvenlik uygulamaları, n8n kurulumunuzun sadece çalışır durumda olmasını değil, aynı zamanda güvenli, yönetilebilir ve geleceğe hazır olmasını da sağlar. Unutmayın ki güvenlik, sürekli bir süreçtir ve düzenli kontroller gerektirir.

Sonuç: Güvenli Otomasyon Yolculuğunuz Başlıyor!

Bu kapsamlı rehber boyunca, n8n'i Google Sign-In kimlik doğrulamasıyla yerel bir ortamda nasıl kuracağımızı adım adım keşfettik. Google Cloud Console'da gerekli API ve kimlik bilgisi ayarlamalarını yapmaktan, Docker ve Docker Compose ile n8n'i güvenli bir şekilde çalıştırmaya kadar tüm süreçleri detaylı bir şekilde ele aldık. Özellikle, N8N_OAUTH_GOOGLE_CLIENT_ID ve N8N_OAUTH_GOOGLE_CLIENT_SECRET gibi kritik ortam değişkenlerini doğru bir şekilde yapılandırmanın önemini vurguladık. Ayrıca, müşteri geri bildirimlerinin otomatikleştirilmesi gibi gerçek dünya senaryoları üzerinden bu entegrasyonun iş süreçlerine nasıl değer kattığını gösterdik. Güvenliğin ve verimliliğin el ele gittiği bu otomasyon yolculuğunda, Google Sign-In'ın sağladığı kolaylık ve sağlamlık sayesinde n8n kurulumunuz artık çok daha güvenilir ve kullanıcı dostu hale geldi.

n8n'in esnekliği ve açık kaynak yapısı, onu otomasyon projeleri için cazip bir seçenek haline getirirken, Google Sign-In entegrasyonu da bu platforma kurumsal düzeyde bir güvenlik ve kullanım kolaylığı katmanı ekler. Artık karmaşık şifre yönetimleriyle uğraşmak yerine, kullanıcılarınız Google hesaplarıyla tek tıkla oturum açabilir ve iş akışlarını güvenle yönetebilirler. Unutmayın ki, teknoloji geliştikçe güvenlik tehditleri de evrimleşir; bu nedenle, sistemlerinizi düzenli olarak güncellemek ve en iyi güvenlik uygulamalarını takip etmek her zaman kritik öneme sahiptir. Bu rehberin, n8n ile otomasyon maceralarınıza başlarken size sağlam bir temel oluşturduğunu umuyoruz. Şimdi, kendi iş akışlarınızı tasarlamak ve otomasyonun gücünü keşfetmek için hazırsınız!

Sıkça Sorulan Sorular (SSS)

Soru Cevap
S1: n8n'i neden yerel olarak kurmalıyım? Cevap: n8n'i yerel olarak kurmak, geliştirme ve test ortamlarınız üzerinde tam kontrol sağlar. Bulut tabanlı çözümlerin aksine, veri gizliliği konusunda daha fazla güvence sunar ve internet bağlantısı olmadan bile çalışabilme esnekliği verir. Ayrıca, üretim ortamına geçmeden önce iş akışlarınızı güvenle denemenize olanak tanır. Özellikle hassas verilerle çalışırken veya ağ kısıtlamaları olan ortamlarda yerel kurulum tercih edilir.
S2: Google Client ID ve Secret bilgilerini güvenle nasıl saklarım? Cevap: Bu bilgiler, uygulamanızın Google ile kimlik doğrulaması yapabilmesi için kritik öneme sahiptir. Asla doğrudan kod içine veya versiyon kontrol sistemlerine (Git) dahil etmemelisiniz. Bunun yerine, .env dosyaları gibi ortam değişkenleri aracılığıyla yönetmeli ve bu dosyayı .gitignore'a eklemelisiniz. Üretim ortamında, bu bilgileri ortam değişkenleri, Kubernetes Secrets veya özel bir sır yönetimi hizmeti (örneğin, AWS Secrets Manager, Google Secret Manager) aracılığıyla güvenli bir şekilde sağlamalısınız.
S3: n8n'de başka kimlik doğrulama yöntemleri kullanabilir miyim? Cevap: Evet, n8n Google Sign-In dışında çeşitli kimlik doğrulama yöntemlerini destekler. Örneğin, geleneksel e-posta ve şifre tabanlı kimlik doğrulama, LDAP, OAuth2 tabanlı diğer sağlayıcılar (GitHub, Microsoft vb.) veya servis hesapları gibi seçenekler mevcuttur. Hangi yöntemi seçeceğiniz, güvenlik gereksinimlerinize, mevcut altyapınıza ve kullanıcılarınızın alışkanlıklarına bağlıdır. Bu seçenekleri n8n'in ortam değişkenlerini yapılandırarak aktif edebilirsiniz.
S4: n8n'i yerelden buluta taşırken nelere dikkat etmeliyim? Cevap: Yerelden buluta geçiş yaparken, güvenlik, ölçeklenebilirlik ve yüksek erişilebilirlik en önemli hususlardır. HTTPS/SSL sertifikalarını doğru yapılandırdığınızdan, veritabanınızı (genellikle PostgreSQL) bulut ortamına taşıdığınızdan, ortam değişkenlerini güvenli bir şekilde yönettiğinizden ve bir ters proxy (Nginx, Caddy) kullandığınızdan emin olun. Ayrıca, düzenli yedeklemeleri otomatikleştirmeli, izleme ve loglama çözümleri entegre etmeli ve güvenlik duvarı kurallarını dikkatlice yapılandırmalısınız. Alan adı ve yeniden yönlendirme URI'lerini de bulut ortamınıza göre güncellemeniz gerekecektir.
S5: Google Sign-In ile giriş yaparken hata alırsam ne yapmalıyım? Cevap: Bir hata ile karşılaşırsanız, ilk olarak Google Cloud Console'da Client ID, Client Secret ve özellikle Yetkilendirilmiş Yeniden Yönlendirme URI'lerinin (http://localhost:5678/rest/oauth2-google/authenticate) doğru ve eksiksiz olarak girildiğinden emin olun. .env dosyasındaki ilgili değişkenleri kontrol edin. n8n konteynerinin loglarını docker-compose logs n8n komutuyla inceleyerek hata mesajlarını okuyun. Tarayıcı önbelleğini temizlemek veya farklı bir tarayıcı denemek de bazen sorunu çözebilir. Son olarak, Google Cloud Console'daki "OAuth Onay Ekranı"nda test kullanıcılarının ekli olduğundan emin olun.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Mobil sürümden çık