CodeBlanks Logo Icon CodeBlanks

API key güvenliği

API key ve secret yönetimini öğrenirsin.

API key güvenliği

API key'ler uygulamaya gömüldüğünde tersine mühendislikle çıkarılabilir. Obfuscation zorlaştırır ama tam engellemez. Bu yüzden key'leri koda gömmek yerine çevre değişkenleriyle taşımak gerekir.

React Native'de react-native-dotenv ya da react-native-config kullanılır. Key .env dosyasında tutulur; bu dosya .gitignore'a eklenir. Kod process.env.API_KEY ile okur. Üretim derlemesinde key yine pakete gömülür; ama kaynak kodda görünmez. En güvenli yöntem, key'i bir backend proxy'sinde tutmak ve uygulamadan oraya istek atmaktır.

react-native-dotenv kullanımı

react-native-dotenv ile .env dosyasındaki değişkenler koda aktarılır. .env dosyasına API_KEY=abc123 yazarsın. Kod tarafında import { API_KEY } from '@env' ile alırsın.

Bu yöntem key'i kaynak koddan ayırır. Ekip arkadaşların aynı şablon .env.example dosyasını paylaşır; herkes kendi .env'ini yazar. CI'da çevre değişkenleri pipeline'dan verilir. Unutma: üretim derlemesinde key yine pakete gömülür; tam koruma için backend proxy kullan. Yine de kaynak kodun sızması durumunda key doğrudan okunamaz.

Uygulama API key'i çevre değişkeninden al

Bir apiClient.js iskeleti yaz. API_KEY'i '@env' modülünden içe aktar. Bir const apiKey değişkenine ata. Bir fetch çağrısında Authorization başlığına kullan.

Başlangıç kodu

App.js
// API_KEY'i @env modülünden içe aktar

const apiKey = null; // API_KEY ile değiştir

function fetchProfile() {
  // Authorization başlığına apiKey ekle
  return fetch('https://api.example.com/profile');
}

Örnek çözüm

App.js
import { API_KEY } from '@env';

const apiKey = API_KEY;

function fetchProfile() {
  return fetch('https://api.example.com/profile', {
    headers: { Authorization: 'Bearer ' + apiKey }
  });
}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Akışı rolüne eşle

Kavram Anlamı
react-native-dotenv Çevre değişkeni
.env Key dosyası
.gitignore Dosyayı saklar
process.env Kod tarafında okur

2 Çevre değişkeni okuma

Soru
import { ____ } from '@env';
Cevap
import { API_KEY } from '@env';

Açıklama: API_KEY @env modülünden içe aktarılır.

3 .env dosyası nereye eklenir?

App.js
.env
  • package.json
  • .gitignore Doğru cevap
  • app.json
  • App.js

Açıklama: .env dosyası .gitignore'a eklenir; depoya gitmez.

Uzman bölümündeki tüm dersler