Ja też miałem ten problem przez jakiś czas, mam też pytanie bez odpowiedzi na ten temat (tutaj na ten temat).
Zasadniczo masz do wyboru OAuth lub coś niestandardowego.
Teraz, oauth, pracują nad wersją 2.0 i nie powinieneś rozpoczynać nowego projektu z wykorzystaniem OAuth 1, ale chodzi o to, że oauth2 jest daleki od ukończenia i jest mało wsparcia dla serwera oauth2 dla php teraz. Nie chcę powiedzieć, że oauth2 2-legged/3-legged jest skomplikowany, ale jest więcej niż powinien, a także po przeczytaniu wielu postów dotyczących tego, zdecydowałem, że na razie powinienem iść z czymś innym , nie oauth (także, jeden z twórców oautha opuścił projekt, ponieważ nie był usatysfakcjonowany kierunkiem tego projektu), ponieważ jest w stanie "niezdecydowanym" (oczywiście ludzie będą twierdzić, że jest on prawie gotowy do użycia, ale nie obchodzi mnie, chcę czegoś już udowodnić, nie chcę być szczurem laboratoryjnym dla wielkich firm, aby przetestować oauth [tak, oauth idzie na wielkie firmy, a nie twoje).
Wracając do mojego numeru, zawsze podobał mi się sposób, w jaki Amazon działa z api, jest tak prosty w implementacji, więc dlaczego nie pójść w tym samym kierunku? Mam na myśli to, że Amazon jest jednym z największych dostawców api, jeśli go używają, mają ku temu prawdziwy powód.
Powiedziałem i zrobiłem, w mniej niż 2 godziny miałem uruchomiony mój protokół uwierzytelniania/autoryzacji, i zgadnij co, było to łatwe, proste i lubię je pisać (nie denerwować się z powodu oauth). Dobry artykuł, który pomógł mi zacząć to: http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/, który w zasadzie wyjaśnia, co musisz zrobić.
Więc gdybym był tobą, chciałbym zacząć stamtąd :)
Niektóre usługi wymagają API wysyłać rzeczy jak client_id w nagłówku żądania. Użytkownicy mogą używać cURL do dodawania niestandardowych nagłówków do ich żądań, do których następnie można uzyskać dostęp za pomocą skryptu. – Xeoncross