Próbuję zintegrować serwer Oauth2 z interfejsem API i strasznie utknąłem. W tym przykładzie zastosowano 3 różne strategie (lokalna, podstawowa, na okaziciela); Czy istnieje wyjaśnienie tego? Jak utworzyć klucze i tajne klucze klienta? Czy istnieje działający przykład prostego logowania dla użytkowników?oauth2orize za pomocą interfejsu API?
Odpowiedz
W celu późniejszego wykorzystania, załatałem wszystko razem w małym, zrozumiałym przykładzie. oauth2api
Tak, masz bóle głowy :). To nie jest łatwe do wdrożenia strategii, ale tutaj jest pełna przykładów pracy z serwerem tokena i tak dalej:
https://github.com/jaredhanson/oauth2orize
zajęło mi kilka tygodni, aby owinąć głowę wokół niego i co pomogło to zrozumieć Specyfikacja Oauth2. Istnieje wiele ruchomych części, w skrócie:
- Użytkownik kontaktuje się z usługodawcą (tj. Mój webmail).
- Webmail oferuje uwierzytelnienie Facebook'a, kliknięcia użytkownika i przekierowanie użytkownika do punktu końcowego autoryzacji FB na fb.com
- FB mówi, hej, Webmail chce uzyskać dostęp do twojej poczty, pozwolisz? Użytkownik mówi tak wtedy
- FB przekierowuje użytkownika z „token dostępu” tartego do Webmail, z powrotem do poczty zwrotnej URL
- Webmail, dostaje, że dostęp żeton i używa go do Webmail do FB wywołań API w imieniu użytkownika .
Jak widać pojawiają się komplikacje, że istnieje potrzeba serwera tokenów, który należy zapewnić, aby zapewnić, że poczta internetowa jest zarejestrowana na serwerze tokenu jako "znany dostawca", więc użytkownik udziela Webmailowi pozwolenia na dostęp do FB w ich imieniu.
Po stronie Twojej poczty internetowej nie będziesz używać żadnej ze strategii lokalnych/podstawowych/przenośnych. Użyjesz strategii paszportowej oauth2. Nośnik jest prawidłową strategią interfejsu API podobną do prezentacji klucza API. Jeśli nie potrzebujesz uprawnień użytkownika, aby przyznać dostęp do interfejsu API, bardzo zalecam korzystanie z strategii paszport-http-okaziciela i nie masz żadnych problemów.
Mam nadzieję, że to pomaga.
Spójrz na numer 4. Próbka działa bardzo łatwo: https://github.com/scottksmith95/beerlocker
Używaj listonosza i utwórz użytkownika testowego z delegowania do localhost: 3000/api/użytkowników nazwa YourName hasło yourPass
Następnie użyj tego do zalogowania się podczas testowania interfejsu API.
- 1. Uwierzytelnianie za pomocą interfejsu API Google za pomocą konta AccountManager
- 2. Zapisywanie plików za pomocą spinacza za pomocą interfejsu API
- 3. Tworzenie zestawu za pomocą interfejsu API Soundcloud
- 4. Zapytanie POST za pomocą interfejsu API pobierania?
- 5. Uwierzytelnianie za pomocą Onedrive SDK/API (lub dowolnego interfejsu API)
- 6. Pobierz zawartość za pomocą interfejsu REST API REST API
- 7. Umieszczanie tablicy obiektów za pomocą interfejsu API MVC Web API
- 8. Budowanie interfejsu API C#/ASP.NET za pomocą oAuth do uwierzytelniania interfejsu API
- 9. Przekazywanie wskaźnika C za pomocą interfejsu API Python/C
- 10. Konfigurowanie niestandardowych konwerterów za pomocą interfejsu API Dozer Java
- 11. Symulowanie klawiatury za pomocą interfejsu SendInput API w aplikacjach DirectInput
- 12. Zaktualizuj wiki projektu GitHub za pomocą interfejsu API GitHub
- 13. Zapętlanie znaczników za pomocą interfejsu Google Maps API v3 Problem
- 14. Przekazywanie parametrów w nagłówku komunikatu za pomocą interfejsu REST API
- 15. Jak aktualizować grupowanie za pomocą interfejsu API Mailchimp?
- 16. Nie można wysyłać powiadomień FB za pomocą nowego interfejsu API
- 17. Reprezentacja nieskomplikowanych danych zagregowanych za pomocą interfejsu JSON API
- 18. Nie można usunąć filmów za pomocą interfejsu API danych YouTube.
- 19. Tworzenie nowego dokumentu PDF za pomocą interfejsu API PDFBOX
- 20. Pobranie wideo za pomocą interfejsu YouTube Data API?
- 21. OGŁASZANIE JsonObject Za pomocą HttpClient z interfejsu Web API
- 22. Jak mogę utworzyć aplikację Java za pomocą interfejsu API Monkeyrunner?
- 23. Publikowanie na ścianie za pomocą interfejsu API Facebook
- 24. Zarządzanie pamięcią JNI za pomocą interfejsu API Inwokacji
- 25. Publikowanie obrazu/wideo na MySpace za pomocą interfejsu API?
- 26. Synchronizowanie danych za pomocą interfejsu API Dropbox i iOS
- 27. Jak oznaczać elementy czytane za pomocą interfejsu API czytnika Google?
- 28. Jak wysłać zaproszenie na zaproszenie za pomocą interfejsu API Facebooka?
- 29. Uzyskaj link udostępniony za pomocą interfejsu Google Drive API
- 30. Jak utworzyć przypomnienie za pomocą interfejsu API Kalendarza Google?