HTTP hizmeti içinde kimlik doğrulaması yapmak nasıl?

4 Cevap php

Şu anda kullanıcı hesabı işlevselliği olan bir web sitesi var, ama biz kullanıcıların ortak görevler için bir API sağlayarak, diğer cihazlar / web siteleri aracılığıyla eylemleri gerçekleştirmek / hesaplarını yönetmek için izin vermek için bir API sağlamak için arıyoruz.

Şu anda web sitesi giriş güvenliğiniz için HTTPS üzerinden yapılır ve sonra vb oturum gaspına karşı korumak için uygun güvenlik önlemleri ile PHP oturumları kullanılarak yönetilir

Nasıl bu işlevi bir API sağlayacak?

Nasıl bir POST yapmadan bir giriş göndermek mümkün mü? (As muhtemelen GET bir API çağrısı ile bu yapmak için tek yoldur). @ Parola = bar güvenceye https://www.example.com/login/user-foo: gibi bir URL isuing mı? URL tel üzerinden gönderilmeden önce https kurulum olur mu?

Ben bunu çözebiliriz sonra ben giriş erişim simgesi dönmek olurdu. Ilk istek bu simgeyi içermelidir, ve tepki böylece ikinci istek üzerine kullanılmak üzere, bir new belirteci iade etmeli ....

Bu işe misiniz?

4 Cevap

Sen kullanabilirsiniz basic www-authentication. Bu temelde adı + şifre içeren bir başlık, bu. Bu konuda iyi bir şey, bu (ayrı bir giriş işlemi gerekmez) vatansız, ve çok iyi desteklenen olmasıdır. Ayrıca uygulamak oldukça basit. Sürece https üzerine hizmet gibi, güvenlik gayet iyi.

@ Parola = bar güvenceye https://www.example.com/login/user-foo: gibi bir URL isuing mı?

Bu bir günlüğüne sonunda olabilir çünkü, URL kimlik koymak iyi değildir.

URL tel üzerinden gönderilmeden önce https kurulum olur mu?

Evet, https http protokolü önce kurulmuştur. Kötü niyetli bir kişi görmek mümkün olacak tek şey, uç noktalarının IP adresleri.

Gibi bir standart, kullanma OAuth? Bunun için izin verirseniz, o zaman kullanıcı sürece istedikleri gibi doğrulanmış belirteci tutabilirsiniz.

Bazı GET isteği Örneğin geldiğinde bir giriş için yönlendirme olabilir Alternatif olarak, eğer sen, hiç bir kimlik doğrulama gerekmez: herhangi bir site Twitter add a tweet bir URL'ye bağlantı kurabilirsiniz. Imzalanan değilken, Twitter ilk giriş sayfasına yönlendirir. Yönlendiren site bile Twitter kullanıcı adınızı bilmek gerekmez.

(Ve evet: URL gönderilmeden önce HTTPS, sunucunun IP adresine göre kurulur.)

Sen arayan tarafından ayarlanması için bir başlık gerektiren bir REST API kimlik doğrulaması yapabilirsiniz. yani Onlar daha sonra okumak ve doğrulamak için kullanabileceğiniz bir "X-YourApp-API-Key" başlığını ayarlayın. Bu POST sadece kimlik doğrulaması ve GET yöntemlerini, ama, baş koymak, ve böylece DİNLENME yöntemlerin tam bir tamamlayıcı var SİL sağlar.

Tüm aramalarınızın HTTPS ise kendisi tarafından, bu gayet iyi. HTTPS üzerinden kimlik doğrulaması isteyen ve daha sonra düzenli olarak HTTP üzerinden yapılan çağrılar varsa OAuth gibi çalışır ve de-net istekleri için bir belirteci verir şey uygulamak gerekir.

SSL üzerinden SOAP kullanarak düşündünüz mü? Teorik olarak, SOAP üzerinde bir kullanıcının kimliğini doğrulamak gerekir.