Ana içeriğe geç

Yan yana

OAuthvsSSO

OAuth ile SSO arasındaki fark nedir?

Güncellendi 2 dk okuma6 fark

Kısaca

OAuth, uygulamanın başka servisteki kullanıcı verisine parolasız erişmesini sağlar; SSO ise birçok uygulamaya tek giriştir, SAML veya OpenID Connect'e dayanır.

OAuth

OAuth, bir uygulamanın kullanıcının parolasını hiç görmeden başka bir servisteki verilerine erişmesini sağlayan açık bir yetkilendirme standardıdır.

OAuth sayfasını oku

SSO

Tek Oturum Açma (Single Sign-On)

SSO, kullanıcının merkezi bir kimlik sağlayıcıyla bir kez oturum açıp birçok ayrı uygulamaya yeniden kimlik bilgisi girmeden erişmesini sağlar.

SSO sayfasını oku

OAuth ve SSO karşılaştırması

ÖzellikOAuthSSO
NedirBir yetkilendirme çerçevesi (bir protokol)Birçok uygulama için bir kez giriş yapma yöntemi
Yanıtladığı soruBu uygulama kullanıcı adına işlem yapabilir mi?Bütün uygulamalarımızda bu kullanıcı kim?
Asıl sonuçKapsamı sınırlı bir erişim token'ıHer uygulamada açılmış bir oturum
Dayandığı temelOAuth 2.0 (ve daha yeni 2.1 taslağı)SAML ya da OpenID Connect; altında çoğu zaman OAuth
Tipik örnekİzninizle takviminizi okuyan bir uygulamaE-postaya, sohbete ve İK araçlarına tek bir şirket hesabıyla girmek
Asıl ilgi alanıDevredilen erişim ve izinlerKimlik ve yönetilecek parolaların azalması

Fark, açıklamalı

OAuth 2.0 bir yetkilendirme çerçevesidir. Bir uygulama Google Takviminizi okumak istediğinde OAuth, bunu Google'ın kendi sayfasında onaylamanızı sağlar; Google da uygulamaya parolanız yerine yalnızca o izinle sınırlı bir erişim token'ı verir. Tek oturum açma ise bir protokol değil, bir hedeftir: bir şirketin Okta ya da Microsoft Entra ID hesabı gibi bir kimlik sağlayıcıya bir kez giriş yaparsınız ve ardından birbirinden ayrı birçok uygulamaya alınırsınız.

Fark, her birinin yanıtladığı sorudadır. OAuth "bu uygulama kullanıcı adına bir şey yapabilir mi?" sorusunu yanıtlar; yani konusu devredilen erişim ve kapsamlardır (scope). SSO ise "bu kullanıcı kim, tekrar giriş yapmasına gerek kalmasın" sorusunu yanıtlar; yani konusu uygulamalar arasında kimlik ve kimlik doğrulamadır.

İkisi OpenID Connect'te buluşur: OAuth 2.0'ın üzerine, kullanıcının kim olduğunu söyleyen bir kimlik token'ı (ID token) ekleyen bir katman. "Google ile oturum açın" düğmeleri ve birçok modern SSO kurulumu OpenID Connect kullanır; kurumsal SSO ise daha eski, XML tabanlı bir standart olan SAML'a da çokça dayanır. Yani OAuth çoğu zaman SSO'nun işleyişinin bir parçasıdır, ama tek başına kimseyi içeri almaz.

Sık yapılan bir yanlış, OAuth'un bir giriş protokolü olduğu düşüncesidir. Erişim token'ı kullanıcının kim olduğunu değil, uygulamanın neler yapabileceğini söyler; onu tek başına kimlik kanıtı saymak gerçek güvenlik açıklarına yol açmıştır. Kullanıcıları içeri almak için OpenID Connect ya da SAML kullanın.

Hangisini kullanmalısınız?

OAuth şu durumlarda doğru seçim:

  • Uygulamanızın bir kullanıcı adına başka bir servisin API'sini çağırması gerekiyor.
  • Üçüncü taraf uygulamalara kendi API'nize sınırlı erişim vermek istiyorsunuz.
  • Kullanıcılar parola paylaşmadan izin verip bu izni geri alabilmeli.

SSO şu durumlarda doğru seçim:

  • Çalışanlar ya da müşteriler uygulamalarınızın birkaçını kullanıyor.
  • Hesapları, parolaları ve çok faktörlü kimlik doğrulamayı tek bir yerden yönetmek istiyorsunuz.
  • Bir hesabı devre dışı bırakmak, her uygulamaya erişimi aynı anda kaldırmalı.

Sık sorulan sorular

OAuth, SSO için kullanılır mı?

Çoğu zaman, OAuth 2.0'ın üzerine kimlik ekleyen OpenID Connect aracılığıyla. Düz OAuth giriş işini değil, izinleri yönetir.

SAML ile OAuth arasındaki fark nedir?

SAML, çoğunlukla kurumsal SSO'da kullanılan XML tabanlı bir standarttır; kullanıcının kim olduğuna dair imzalı ifadeler taşır. OAuth ise uygulamalara erişim token'ı vermekle ilgilidir; üzerine OpenID Connect eklendiğinde girişleri de yönetebilir.

"Google ile oturum açın" OAuth mu, SSO mu?

Bir bakıma ikisi de. OAuth 2.0 üzerine kurulu OpenID Connect'i kullanır ve Google hesabınızı kabul eden siteler arasında size tek oturum açma sağlar.

Daha fazla

Ayarlar