13

Şu anda bir web sitesi kimlik doğrulaması için devise eklentisi kullanan bir uygulama 3 raylarım var. Ama şimdi bir iPhone uygulaması ekleyeceğim, böylece istemci cihazına (iPhone) api çağrılarını göstereceğim. Auth modülünü nasıl uygularım, böylece iPhone istemcisi rayların sitesine kimlik doğrulaması yapabilir ve bazı API'lara erişebilir?Raylarda api kimlik doğrulaması 3

Oauth sağlayıcısı oluşturmalı mıyım, belirteci temel auth mı yoksa basit http auth çalışır mı?

cevap

8

Bu durumda, HTTP Temel kimlik doğrulaması düzgün çalışır. Daha güvenli olmasını istiyorsanız, bir OAuth sağlayıcısı oluşturabilir ve daha kullanıcı dostu hale getirmek için Twitter xAuth kendi uygulamanızı oluşturabilirsiniz. Temel olarak, bir kullanıcı adı ve şifre kabul edip o kullanıcı için bir OAuth istek belirteci döndüren bir API çağrısı oluşturursunuz. Bu istek belirtecini iPhone'da depolar ve sonraki isteklerin kimliğini doğrulamak için kullanırsınız.

+0

Kod pasajı, ruby ​​kodundaki bir isteğin jetonu kullanarak nasıl gideceğini açıklayabilir misiniz? – Gotjosh

+0

OAuth oldukça karmaşık bir konu olduğundan, bunu çok basitleştiriyorum, ancak esas olarak ilk OAuth bağlantısı sırasında bir erişim belirteci oluşturacak ve veritabanında hangi kullanıcının ait olduğuyla birlikte saklayacaksınız. API'nıza bir istekte bulunduğunuzda, erişim belirtecini sağlamanız gerekir. Ardından, hizmetiniz erişim belirtecinin kime ait olduğunu araştırabilir ve ona göre yetki/yetkilendirme yapabilir. Ruby OAuth Sağlayıcısı kitaplıklarına bakın. –