Mamy witrynę internetową, w której jedynym sposobem na zalogowanie się i uwierzytelnienie w witrynie jest Facebook (nie był to mój wybór). Przy pierwszym logowaniu za pomocą Facebooka konto jest tworzone automatycznie.
Chcemy teraz stworzyć aplikację na iPhone'a dla naszej strony, a także publiczne API, aby inni mogli korzystać z naszych usług.
To pytanie dotyczy sposobu uwierzytelniania w naszej witrynie z poziomu aplikacji / interfejsu API i jest podzielone na 2 części:
- Jaki jest prawidłowy sposób obsługi uwierzytelniania REST z interfejsu API do witryny internetowej, która używa tylko protokołu OAuth serwisu Facebook jako metody uwierzytelniania?
Dużo czytałem i badałem na temat standardowych metod uwierzytelniania dla REST API. Nie możemy używać takich metod, jak uwierzytelnianie podstawowe przez HTTPS , ponieważ nie ma poświadczeń dla użytkownika jako takiego. Coś jak to wydaje się tylko do uwierzytelniania aplikacji przy użyciu interfejsu API.
Obecnie najlepszym sposobem, o jakim mogę pomyśleć, jest trafienie / autoryzacja punktu końcowego w naszym API, przekierowanie do Facebooka OAuth, a następnie przekierowanie z powrotem do witryny i udostępnienie `` tokenu '', którego użytkownik API może użyć do uwierzytelnienia kolejnych upraszanie.
- W przypadku oficjalnej aplikacji, którą tworzymy, niekoniecznie musielibyśmy używać publicznego API w ten sam sposób. Jaki byłby najlepszy sposób na rozmowę z naszą witryną i uwierzytelnianie użytkowników?
Rozumiem (myślę), jak uwierzytelniać aplikacje innych firm, które używają naszego API, używając kluczy API (publicznych) i tajnych (prywatnych). Jednak jeśli chodzi o uwierzytelnianie użytkownika korzystającego z aplikacji, jestem raczej zdezorientowany, jak się do tego zabrać, skoro jedynym sposobem, w jaki musimy uwierzytelnić użytkownika, jest Facebook.
Czuję, że brakuje mi czegoś bardzo oczywistego lub nie do końca rozumiem, jak powinny działać publiczne interfejsy API REST, więc wszelkie porady i pomoc będą bardzo mile widziane.