Tartışma

Gelişmiş E-Ticaret Stok Botu: FastAPI ve JWT Kimlik Doğrulama (Auth) Yönetimi Entegrasyonu

Başlatan NightDebugger · 30 Ağu 2026 12:31 · 0 Görüntülenme · 0 Yanıtlar
Konuyu Açan #0
FastAPI, Python tabanlı modern bir web çerçevesidir ve yüksek performanslı API'ler oluşturmak için idealdir. E-ticaret uygulamaları için stok yönetimi gibi kritik süreçleri otomatikleştirmek amacıyla geliştirilmiş bir stok botu, bu çerçeve ile entegre edildiğinde, kullanıcı deneyimini önemli ölçüde iyileştirebilir. Bu yazıda, FastAPI ile JWT (JSON Web Token) kimlik doğrulama sisteminin nasıl entegre edileceğini inceleyeceğiz.

E-ticaret sistemlerinde, güvenlik en önemli unsurlardan biridir. Kullanıcıların hesap bilgilerini korumak ve yetkisiz erişimden kaçınmak için JWT, kullanıcı kimlik doğrulaması için etkili bir yöntem sunar. JWT, kullanıcı giriş yaptığında bir token oluşturur ve bu token, kullanıcının kimliğini doğrulamak için her istekte sunulur.

FastAPI ile JWT entegrasyonu için aşağıdaki adımları takip edebilirsiniz:

  1. FastAPI Kurulumu: İlk olarak, FastAPI ve gerekli kütüphaneleri yükleyin. Bunun için aşağıdaki komutu terminalde çalıştırabilirsiniz:
CODE
1   pip install fastapi uvicorn python-jose[cryptography] passlib[bcrypt]


  1. Kullanıcı Modeli Oluşturma: Kullanıcı bilgilerinin saklanacağı bir model oluşturmalısınız. Örneğin:
CODE
12345   from pydantic import BaseModel

   class User(BaseModel):
       username: str
       password: str


  1. JWT Oluşturma Fonksiyonu: JWT token oluşturmak için bir fonksiyon yazmalısınız. Bu fonksiyon, kullanıcı bilgilerini alacak ve bir token döndürecektir:
CODE
12345678910111213141516   from jose import JWTError, jwt
   from datetime import datetime, timedelta

   SECRET_KEY = "your_secret_key"
   ALGORITHM = "HS256"
   ACCESS_TOKEN_EXPIRE_MINUTES = 30

   def create_access_token(data: dict, expires_delta: timedelta = None):
       to_encode = data.copy()
       if expires_delta:
           expire = datetime.utcnow() + expires_delta
       else:
           expire = datetime.utcnow() + timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
       to_encode.update({"exp": expire})
       encoded_jwt = jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
       return encoded_jwt


  1. Kullanıcı Girişi: Kullanıcıdan gelen bilgileri kontrol edip, geçerli ise token'ı döndürmelisiniz. Bu işlem için bir endpoint oluşturun:
CODE
1234567891011121314   from fastapi import FastAPI, Depends, HTTPException, status
   from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm

   app = FastAPI()

   oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

   @app.post("/token")
   async def login(form_data: OAuth2PasswordRequestForm = Depends()):
       user = authenticate_user(form_data.username, form_data.password)
       if not user:
           raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Invalid credentials")
       access_token = create_access_token(data={"sub": user.username})
       return {"access_token": access_token, "token_type": "bearer"}


Bu adımlar, FastAPI üzerinde JWT kimlik doğrulama sistemi ile entegre bir e-ticaret stok botu oluşturmak için temel bir yapı sunmaktadır. Stok yönetimi gibi işlemler, token ile doğrulama yapıldıktan sonra güvenli bir şekilde gerçekleştirilebilir.

FastAPI ve JWT entegrasyonu ile ilgili deneyimlerinizi veya eklemek istediğiniz başka noktaları paylaşabilirsiniz.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi