OAuth 2.0

OAuth 2.0, uygulamaların kullanıcıların hesaplarındaki verilere erişmesine ve bu verileri yönetmesine izin veren bir yetkilendirme çerçevesidir. OAuth 2.0 Server, bu çerçevenin bir parçasıdır ve uygulamaların kullanıcıların adına güvenli bir şekilde işlem yapabilmesi için gerekli olan erişim belirteçlerini (access token) ve yenileme belirteçlerini (refresh token) sağlar.

OAuth 2.0 sunucusu, OAuth 2.0 protokolünü uygulayan bir sunucudur ve aşağıdaki bileşenlerle etkileşir:

  1. Resource Owner (Kaynak Sahibi): Genellikle bir kullanıcıdır ve verilere erişim izni sağlayan taraf olarak hareket eder.
  2. Client (İstemci): Kullanıcıların adına işlem yapan uygulamadır. İstemci, kullanıcıların kimlik bilgilerini kullanmadan doğrudan sunucuya erişim sağlar.
  3. Resource Server (Kaynak Sunucusu): Kullanıcı verilerini barındıran ve erişim belirteçleriyle korunan sunucudur.
  4. Authorization Server (Yetkilendirme Sunucusu): Erişim ve yenileme belirteçlerini sağlayarak istemcinin, kaynak sahibinin izniyle kaynak sunucusundaki kaynaklara erişmesine izin verir.

OAuth 2.0 sunucusu, aşağıdaki işlemleri gerçekleştirir:

  1. İstemcinin kayıt sürecini yönetir: İstemci, OAuth 2.0 sunucusuyla kayıt olarak istemci kimliği (client ID) ve istemci sırrı (client secret) elde eder.
  2. Yetkilendirme sağlar: Kaynak sahibi, istemciye erişim izni sağlamak için OAuth 2.0 sunucusunda oturum açar ve istemci, sunucudan yetkilendirme kodu alır.
  3. Erişim belirteçlerini ve yenileme belirteçlerini sağlar: İstemci, yetkilendirme kodunu kullanarak erişim belirteci ve yenileme belirteci talep eder. Sunucu, bu talebi değerlendirir ve uygun belirteçleri sağlar.
  4. Erişim belirteçlerini doğrular: Kaynak sunucusu, istemci tarafından sağlanan erişim belirtecinin geçerliliğini doğrulamak için OAuth 2.0 sunucusuyla iletişim kurar.

OAuth 2.0 sunucusu, web uygulamaları, mobil uygulamalar ve API’ler için güvenli ve genişletilebilir bir yetkilendirme çözümü sağlar. Bu sayede, uygulamalar kullanıcıların hesaplarındaki verilere erişebilir ve işlem yapabilir, kullanıcıların güvenliğini ve gizliliğini koruyarak.