OAuth 2.0 cihaz akışına kısa bir giriş
Bu makale, kullanıcı aracısı tabanlı yetkilendirme gerçekleştirmek için tarayıcıdan yoksun olan veya girdi kısıtlaması bulunan cihazlarda kimlik doğrulama için bir çözüm olan OAuth 2.0 cihaz akışını, amacını ve kullanıcı etkileşim akışını incelemektedir.
Bir yetkilendirme çerçevesi olarak OAuth 2.0, çeşitli senaryolarda yaygın olarak kullanılmaktadır. OAuth tarafından sağlanan kimlik doğrulama akışlarında, en yaygın olanı Yetkilendirme Kodu Akışıdir. Bir kullanıcı Yetkilendirme Kodu Akışı kullanarak bir uygulama içinde kimliğini doğruladığında, uygulama aygıttan tarayıcıyı açarak yetkilendirme noktasına erişir ve ardından kullanıcı, kimlik bilgilerini (kullanıcı adı, e-posta vb.) ve kimlik doğrulama bilgilerini (şifre, doğrulama kodu vb.) girerek kimlik doğrulamayı tamamlar.
Ancak, bir kullanıcı tarayıcısı olmayan veya hesap kimlik bilgilerini gireme yeteneği bulunmayan bir cihazda bir uygulama kullanmak istediğinde, OAuth 2.0 aracılığıyla kimlik doğrulamasını nasıl gerçekleştirebiliriz? İşte "cihaz akışı" devreye girer.
OAuth 2.0 cihaz akışı nedir
OAuth 2.0 cihaz akışı, sınırlı giriş yeteneklerine veya uygun bir tarayıcıya sahip olmayan cihazları desteklemek için tasarlanmış OAuth 2.0 protokolünün bir uygulamasıdır. Bu cihazlar arasında akıllı TV'ler, IoT cihazları, yazıcılar vb. bulunmaktadır.
Cihaz akışı, kullanıcıların belirtilen cihazlarda yetkilendirme istekleri başlatmalarını sağlar ve ardından kullanıcı, yetkilendirme isteğini inceleyebilir ve bir akıllı telefon veya kişisel bilgisayar gibi tarayıcı erişimi ve giriş yeteneklerine sahip başka bir cihaz üzerinden kullanıcı yetkilendirmesini tamamlayabilir.
Ayrıca, cihaz akışı genellikle CLI araçları (Stripe, Github, Cloudflare tarafından sağlananlar gibi) için kullanılır, çünkü CLI araçları genellikle grafik arayüzü olmayan işletim sistemlerinde çalışır.
Cihaz akışı kullanırken kullanıcı etkileşim akışı
Bir kullanıcı kimlik doğrulama için cihaz akışını kullandığında, genellikle aşağıdaki adımları içerir:
- Cihaz istemcisi, yetkilendirme sunucusundan istemci kimliğiyle yetkilendirme ister (genellikle yetkilendirme sunucusu platformundaki istemci kimliğidir).
- Yetkilendirme sunucusu, cihaz istemcisine cihaz kodu, kullanıcı kodu ve doğrulama URI'si ile yanıt verir.
- Cihaz istemcisi, doğrulama URI'sini ve kullanıcı kodunu kullanıcıya metin (veya bir QR kodu gibi) şeklinde gösterir ve kullanıcıya URI'yi ziyaret etmesini ve kodu girmesini talimat verir.
- Adım 3 ile eş zamanlı olarak, cihaz istemcisi cihaz kodu ve istemci kimliği ile yetkilendirme sunucusundan erişim jetonları almak için anket yapmaya başlar ve kullanıcının yetkilendirme isteğini incelemesini ve kullanıcı yetkilendirmesini tamamlamasını bekler.
- Kullanıcı, başka bir cihazdaki bir tarayıcı aracılığıyla yetkilendirme sunucusu tarafından barındırılan doğrulama URI'sini ziyaret eder ve kullanıcı kodunu girer.
- Yetkilendirme sunucusu, kullanıcıyı giriş sayfasına yönlendirir ve girişini tamamlamasını ister.
- Kullanıcı, giriş akışını tamamlar ve başarıyla giriş yapar.
- Yetkilendirme sunucusu, kullanıcıyı giriş başarı sayfasına yönlendirir ve kullanıcıya tarayıcıyı kapatmasını belirtir
- Adım 8 ile eş zamanlı olarak, yetkilendirme sunucusu cihaz istemcisine erişim jetonlarını geri gönderir çünkü istemci adım 4'ten beri anket yapmıştır.
Bu süreçlerin ardından, cihaz istemcisi, sonraki hizmetler için erişim jetonunu elde edebilecektir!
Özet
Gözlemlediğiniz gibi, OAuth 2.0 cihaz akışı, kolay giriş yeteneklerine veya tarayıcıya sahip olmayan cihazlar için kullanıcı dostu bir giriş yöntemi sunar. Bu, grafik arabirimlerden yoksun olan cihazlarda çalışan akıllı TV'ler, IoT cihazları ve CLI araçları için önemlidir.
Heyecan verici bir haber, Logto'nun cihaz akışı özelliğini destekleme sürecinde olmasıdır. Bizi izlemeye devam edin ve en son güncellemelerle sizi bilgilendireceğiz.