Bir REST API'sini kullanarak yerel mobil uygulamanın kimliğini doğrulama


16

Yakında yeni bir projeye başlıyorum, bu da tüm büyük mobil platformlar (iOS, Android, Windows) için mobil uygulamayı hedefliyor. Bir istemci-sunucu mimarisi olacaktır.

Uygulamaya hem bilgi hem de işlemsel. İşlem bölümü için, bir işlem yapılabilmesi için önce bir hesaba sahip olmaları ve giriş yapmaları gerekir. Mobil geliştirmede yeniyim, bu yüzden kimlik doğrulama bölümünün bu platformlarda nasıl yapıldığını bilmiyorum. İstemciler bir REST API'si aracılığıyla sunucuyla iletişim kuracaktır. HTTPS tabii ki kullanacak.

Kullanıcının uygulamayı açtığında veya yalnızca bir işlem gerçekleştirdiğinde oturum açmasını isteyip istemediğime henüz karar vermedim.

Aşağıdaki soruları aldım:

1) Facebook uygulaması gibi, kimlik bilgilerinizi yalnızca uygulamayı ilk kez açtığınızda girersiniz. Bundan sonra, uygulamayı her açışınızda otomatik olarak oturum açarsınız. Kişi bunu nasıl başarır? Sadece cihazdaki kimlik bilgilerini şifreleyerek ve depolayarak ve uygulama her başlatıldığında bunları göndererek mi?

2) REST API'sine yapılan her (işlemsel) istek için kullanıcının kimliğini doğrulamam veya token tabanlı bir yaklaşım kullanmam gerekiyor mu?

Lütfen kimlik doğrulama için başka yollar önermekten çekinmeyin.

Teşekkürler!

Yanıtlar:


14

RESTful API'nizin oturum açma yöntemine kullanıcı adını / parolayı iletirsiniz ve erişim belirteci döndürür. Bu erişim belirteci yalnızca (sistem için) benzersiz bir dizedir.

Aygıt bu erişim belirtecini depolar (devam eder). Sunucuya her RESTful isteği gönderdiğinizde, bu erişim belirtecini HTTP isteğinin başlığına koyarsınız. Sunucu kullanıcıyı erişim belirteciyle bulur ve başarılı bir şekilde isteği yerine getirir.

kullanıcı adı / şifre olmamalıdır cihazda depolanabilir.


Üçüncü tarafların (bilgisayar korsanları, vb.) Erişim kodunu ele geçirmesi mümkün müdür?
Supercell

Elbette bu mümkün. Özellikle HTTPS kullanmıyorsanız. Çevrimiçi e-posta istemcilerinin çoğu sizden zaman zaman yeniden oturum açmanızı istiyor. Belirtecin, sona erme süresi iki hafta olarak ayarlanmıştır. Yani her iki haftada bir yeniden giriş yapmanız gerekecek.
c-smile

Erişim belirteci nasıl oluşturulur ve erişim belirteci sunucuya kaydedilir.
Ghyath Serhal

@ c-smile Facebook asla tekrar giriş yapmamı istemedi. Bu nedenle, bir şifre ve erişim belirteci arasındaki farkı gerçekten görmüyorum.
Mickael Marrache

bunun çok geç olduğunu biliyorum. ancak facebook ve diğer sağlayıcılar oturum açma sırasında yenileme jetonu, erişim jetonu ve süre sonu (erişim jetonu için) yayınlar. erişim belirteci kısa ömürlüdür ve yenileme belirteci kullanılarak yeni erişim belirteci oluşturulabilir. Bir sonraki giriş, yeni bir yenileme jetonu oluşturabilir, eskisini geçersiz
kılar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.