OAuth
Yazılım alanında OAuth, uygulamaların kullanıcıların parolalarını paylaşmadan belirli kaynaklara erişebilmesini sağlayan açık bir yetkilendirme standardıdır. Özellikle üçüncü taraf uygulamaların kullanıcı adına işlem yapması gereken durumlarda kullanılır. OAuth, kullanıcı kimliğini doğrudan paylaşmak yerine erişim izinlerinin kontrollü şekilde yönetilmesine yardımcı olur.
OAuth Nasıl Çalışır?
OAuth, kullanıcı ile uygulama arasındaki erişim sürecini belirli adımlara ayırır. Kullanıcı bir uygulamanın başka bir hizmetteki kaynaklarına erişmesine izin verdiğinde, erişim doğrudan kullanıcı parolası üzerinden gerçekleştirilmez.
Bunun yerine kullanıcı ilgili hizmete yönlendirilir ve hangi izinlerin verileceğini onaylar. Onay sonrasında uygulama, belirli kaynaklara erişmek için kullanılabilecek bir access token (erişim belirteci) elde eder. Uygulama bu belirteci kullanarak izin verilen işlemleri gerçekleştirebilir.
OAuth'ta Kullanılan Temel Bileşenler
OAuth yapısında farklı görevleri bulunan bileşenler yer alır. Bu bileşenler, kullanıcının kim olduğu ile uygulamanın hangi kaynaklara erişebileceği arasındaki süreci birbirinden ayırmaya yardımcı olur.
- Resource Owner: Kaynakların sahibi olan kullanıcıdır.
- Client: Kullanıcının kaynaklarına erişmek isteyen uygulamadır.
- Authorization Server: Kullanıcının izinlerini doğrulayan ve erişim belirteci sağlayan sunucudur.
- Resource Server: Kullanıcının erişim izni verdiği kaynakları barındıran sunucudur.
- Access Token: Uygulamanın belirli kaynaklara erişebilmesini sağlayan erişim bilgisidir.
OAuth Ne İçin Kullanılır?
OAuth, farklı uygulamaların bir hizmette bulunan belirli kaynaklara kullanıcı adına erişmesi gereken senaryolarda kullanılabilir. Kullanıcı, erişim izinlerini kontrol ederek uygulamanın hangi kaynaklara ulaşabileceğini belirleyebilir.
Örneğin bir uygulama, kullanıcının başka bir platformdaki belirli verilerine erişmek istediğinde kullanıcıdan doğrudan hesap parolasını istemek yerine OAuth tabanlı bir yetkilendirme süreci kullanabilir. Böylece parola uygulamayla paylaşılmadan erişim sağlanabilir.
OAuth ve Kimlik Doğrulama Arasındaki Fark
OAuth temel olarak yetkilendirme (authorization) amacı taşır. Yani bir uygulamanın hangi kaynaklara veya işlemlere erişebileceğini belirlemeye odaklanır. Kimlik doğrulama ise kullanıcının gerçekten kim olduğunu belirleme sürecidir.
Bu iki kavram birbiriyle ilişkili olsa da aynı anlama gelmez. Kullanıcı giriş işlemlerinde kimlik doğrulama amacıyla OAuth 2.0 üzerine kurulu OpenID Connect (OIDC) gibi teknolojiler kullanılabilir.
OAuth'un Avantajları
OAuth, erişim izinlerinin kullanıcı ve uygulama arasında kontrollü şekilde yönetilmesini sağlar. Bu yapı, özellikle birden fazla hizmetin birlikte çalıştığı modern uygulamalarda önemli kolaylıklar sunar.
- Parola paylaşımını azaltır: Kullanıcının parolasının üçüncü taraf uygulamayla paylaşılması gerekmez.
- Yetki kontrolü sağlar: Uygulamaya hangi kaynaklara erişebileceği sınırlandırılabilir.
- Token tabanlı çalışır: Erişim belirteçleri, verilen izinler doğrultusunda kaynaklara erişmek için kullanılabilir.
- Farklı sistemlerle çalışabilir: Web uygulamaları, mobil uygulamalar ve API tabanlı sistemlerde kullanılabilir.
OAuth, modern uygulamalar arasında güvenli ve kontrollü yetkilendirme süreçleri oluşturmak için kullanılan önemli standartlardan biridir. Kullanıcı parolasını doğrudan paylaşmadan erişim izni verilmesini sağlar. Token tabanlı yapısı ve esnek kullanım alanları sayesinde API'lerde, web uygulamalarında ve farklı servislerin birlikte çalıştığı sistemlerde yaygın olarak tercih edilir.
Ücretsiz eğitimlerimiz seni bekliyor.
Her biri alanında uzman eğitmenler tarafından hazırlanmış eğitimlerimizden sana uygun olanı keşfedip, hemen eğitime başlayabilirsin. Süre kısıtlaması olmayan eğitimlerimizi, hiç bir ücret ödemeden hemen keşfetmeye başla.



