Web API basit yetkilendirme

2 Cevap php

Ben güzel ve temiz API yapmak istiyorum; Ben siteyi yapıyorum ve benim sitenin mobil uygulamalar kullanımı web API olanağı sunmak istiyoruz.

Bu web tarayıcısını getirmek ve / veya kontrol etmek mümkün olmayabilir gibi, büyük engel karşı karşıya mobil ve gömülü uygulamalar kendisin, OAuth kullanmak istemiyorum. Ayrıca onun biraz komplike.

I know, that HTTP basic authorisation is not safe, but it's so simple... I want to use it in my api. I have somee users logins and their passwords (md5-encoded) in mysql base, but how to use those data in this HTTP basic authorisation?

2 Cevap

Senin veritabanında her kullanıcı için rasgele benzersiz bir dize oluşturmak ve son kullanıcılara bu dize kullanılabilir yapmak. Bu onların 'anahtar' - onlar API eriştiğinizde, sağladığınız benzersiz bir dize girmek isteyin. Kullanıcıların uygulama onlar eşsiz bir hesaba doğrudan bağlantılar ve bunları yetki nasıl anahtarını geçmek API erişen her zaman. Her biri aslında kullanıcı adı ve şifre.

Yukarıdaki örnekte genel olsa da dikkate güvenlik gibi şeyler almalı - örneğin, mümkün olduğunda, birlikte mobil cihaz kimlik geçmek ve kimlik doğrulama sırasında kullanan, ya da API anahtarı üretimi sırasında geçerli parola hash kullanırsanız yani onların şifresini değiştirmek anahtar çalışma durur ve yeni bir tane almak zorunda - kendi anahtar kayıp ise onlar erişimi kontrol edebilirsiniz bu şekilde.

Bu karmaşık olmak zorunda değildir, sadece güvenli olması için vardır. =)

The PHP manual has an example
Jus google your question "PHP HTTP basic" and here you are
http://php.net/manual/en/features.http-auth.php

birkaç HTTP başlıklarını göndermek kadar basit.

Ayrıca daha güvenli ama müşterileri ile daha uyumlu olduğu kabul sindirmek yetki unutmayın.