2012-02-12 31 views
7

iPhone uygulamam ve sunucum için temel oluşturmaya çalışıyorum. IPhone uygulamasından kayıt olacak ve oturum açacak kullanıcılara sahibim. Normal bir web sitesi girişinde, http sunucusu, kullanıcının sonraki isteklerinin doğrulanmasına izin vermek için çerezler sağlayacaktır. Bunu iPhone'da nasıl kullanmalıyım? Her defasında bir NSURLConnection GET veya POST'um varsa her zaman kullanıcı/şifre göndermem gerekir mi? Bu aşırı görünüyor. Veya çerezleri kullanmak için ASIHTTPRequest çerçevesini kullanıyorum. Uygun bir uygulama için bana doğru yönde işaret eden var mı?IOS'da kullanıcı kimlik doğrulaması sürdürme nasıl kullanılır?

Teşekkürler!

cevap

8

Her istekte kullanıcı adı ve parola göndermek harika değildir.

Çerez göndermek istediğiniz her şeyi kullanabilirsiniz. Bu sadece bir başka HTTP başlığı. Ama bu, çerezde ne olduğu sorusuna yalvarır. İstemcinizin/sunucu yapınızın ne olduğuna bağlıdır. Web uygulamaları, geleneksel olarak web istemcileri herhangi bir eyalette bulunmadığından uygulama sunucusunun zorunda olduğu için oturum anahtarlarını kullanır. Yerel istemciler her türlü duruma sahip olabilir ve bu nedenle bunu sağlamak için genellikle sunucuya gerek yoktur.

Ancak kimlik doğrulamaya ihtiyacınız var. OAuth ve OAuth 2 gibi şeyler budur. Bir kez kimlik doğrulamanıza izin verir ve sonra sunucu tarafını geçersiz kılan belirteçleri kullanırlar. Verileri olmayan çok uzun ömürlü oturumlar gibi.

Bunlar biraz karmaşık, ancak hem sunucu hem de istemci parçaları için açık kaynak kodlu kütüphaneler var ya da kendi başınıza dönebilirsiniz. Komplikasyonun çoğu, müşteriye ve sunucunuza sahipseniz, kısa devre yapabileceğiniz orijinal jetonu almaktır. Tüm talepler gizli bir işaretle imzalandığından OAuth oldukça karmaşık olabilir. OAuth 2, bir çerezde paylaşılan bir sır (SSL gerektirir) kadar basit olabilir.

+0

Çok ilginç bir konu için çok ayrıntılı bir cevap. Teşekkür ederim. – Francesco

+1

Sadece 2 bacağım varsa OAuth overkill var mı? Sadece iPhone'um ve sunucum. Tek bir erişim belirteci (iPhone'da kayıtlı) yeterince çalışır mı? – Ryan

+0

SSL üzerinden tüm isteklerinizi yaptığınız sürece, evet. Bu, OAuth 2'nin en basit akışta yozlaştığı şeydir. – smparkes

İlgili konular