OAuth Nedir?
OAuth, bir kullanıcının parolasını paylaşmadan üçüncü taraf bir uygulamaya hesabındaki belirli verilere sınırlı erişim izni vermesini sağlayan yetkilendirme çerçevesidir; erişim, uygulamaya verilen bir belirteçle yapılır.
Diğer Adları: OAuth 2.0
OAuth Nasıl Çalışır?
RFC 6749’a göre OAuth 2.0, üçüncü taraf bir uygulamanın bir HTTP hizmetine sınırlı erişim almasını sağlar. Dört taraf vardır: erişim iznini veren kaynak sahibi (çoğunlukla kullanıcı), kullanıcı adına istek yapan istemci uygulama, kullanıcının kimliğini doğrulayıp onayını alan ve belirteç veren yetkilendirme sunucusu ile korunan veriyi barındıran kaynak sunucusu.
Mağaza sahibi bir uygulamayı mağazasına bağlarken altyapının onay ekranında uygulamanın hangi verilere erişmek istediğini görür ve onaylar. Uygulama bu onayla bir erişim belirteci alır; mağaza sahibinin panel parolası uygulamaya hiç verilmez.
OAuth Erişim Belirteci ve Erişim Kapsamı
Erişim belirteci (access token), istemcinin korunan veriye erişmek için gönderdiği kimlik bilgisidir ve belirli bir kapsamı ve süreyi temsil eder. Erişim kapsamı (OAuth scope) ise belirtecin neyi okuyup neyi yazabileceğini tanımlar. Shopify her istekte kapsamı uygular ve yalnızca izin verilen veriyi döner; sızan bir belirteç bu yüzden yalnızca kendi kapsamındaki yetkileri açığa çıkarır.
OAuth kapsamı, analitik araçlarındaki ölçüm kapsamıyla (scope) aynı kavram değildir; adları aynı olsa da biri erişim iznini, diğeri bir verinin hangi düzeyde ölçüldüğünü anlatır.
OAuth’ta Çevrim Dışı Erişim Belirteci ve Erişimin İptali
Shopify’da çevrim dışı erişim belirteci (offline access token) varsayılan türdür; mağaza sahibinin oturumu kapalıyken de geçerlidir ve webhook ya da zamanlanmış görevler gibi arka plan işleri için kullanılır. Süreli çevrim dışı belirteçler bir saat geçerlidir ve yenileme belirteciyle tazelenir. Çevrim içi belirteç ise uygulamayı açan personele bağlıdır; 24 saat sonra ya da kişi oturumu kapatınca sona erer. Mağaza sahibi uygulamayı kaldırdığında belirtecin bütün erişimi sona erer.
Örnek: Bir stok uygulaması yalnızca ürün okuma kapsamı ister. Mağaza sahibi onay ekranında sipariş ve müşteri verisine erişim istenmediğini görerek onay verir; uygulamayla çalışma bitince uygulamayı kaldırarak erişimi kapatır.
OAuth Hakkında Sık Sorulan Sorular
OAuth bir kimlik doğrulama yöntemi midir?
OAuth bir yetkilendirme çerçevesidir: hangi uygulamanın hangi veriye erişebileceğini belirler. Kullanıcının kimliği yetkilendirme sunucusunda doğrulanır; uygulamaya parola değil belirteç verilir.
Uygulamaya verilen izin sonradan daraltılabilir mi?
Altyapıya göre değişir. Shopify’da isteğe bağlı kapsamlar geri verilebilir ya da iptal edilebilir; erişimi tamamen kapatmak için uygulama kaldırılır.