Czytałem o OAuth i ciągle mówię o punktach końcowych. Co to jest dokładnie punkt końcowy?
Czytałem o OAuth i ciągle mówię o punktach końcowych. Co to jest dokładnie punkt końcowy?
Odpowiedzi:
Wszystkie dotychczas zamieszczone odpowiedzi są poprawne, punkt końcowy to po prostu jeden koniec kanału komunikacji. W przypadku OAuth istnieją trzy punkty końcowe, którymi należy się zająć:
Mam nadzieję, że pomoże to wyjaśnić. Miłej zabawy podczas nauki o OAuth! Opublikuj więcej pytań, jeśli napotkasz jakiekolwiek trudności z implementacją klienta OAuth.
No dalej :) Moglibyśmy to zrobić prościej na przykładach:
/this-is-an-endpoint
/another/endpoint
/some/other/endpoint
/login
/accounts
/cart/items
a po umieszczeniu pod domeną wyglądałoby to tak:
https://example.com/this-is-an-endpoint
https://example.com/another/endpoint
https://example.com/some/other/endpoint
https://example.com/login
https://example.com/accounts
https://example.com/cart/items
Może to być http lub https, w przykładzie używamy https.
Również punkt końcowy może być inny dla różnych metod HTTP, na przykład:
GET /item/{id}
PUT /item/{id}
byłyby dwie różne punkty końcowe - jeden dla R etrieving (tak jak w „C R ud skrót”), a drugi do U pdating (tak jak w „cr U D”)
I to wszystko, naprawdę takie proste!
Punkt końcowy w żargonie uwierzytelniania OpenID to adres URL, na który wysyłasz (POST) żądanie uwierzytelnienia.
Fragmenty z interfejsu API uwierzytelniania Google
Aby uzyskać punkt końcowy Google OpenID, przeprowadź wykrywanie, wysyłając żądanie HTTP GET lub HEAD na adres https://www.google.com/accounts/o8/id . Używając GET, zalecamy ustawienie nagłówka Accept na „application / xrds + xml”. Google zwraca dokument XRDS zawierający adres URL punktu końcowego dostawcy OpenID. Adres punktu końcowego jest oznaczony adnotacją:
<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/server</Type>
<URI>{Google's login endpoint URI}</URI>
</Service>
Po uzyskaniu punktu końcowego Google możesz wysyłać do niego żądania uwierzytelnienia, określając odpowiednie parametry (dostępne na połączonej stronie). Łączysz się z punktem końcowym, wysyłając żądanie na adres URL lub wykonując żądanie HTTP POST.
Punkt końcowy to „punkt połączenia” usługi, narzędzia lub aplikacji, do których można uzyskać dostęp za pośrednictwem sieci. W świecie oprogramowania każda uruchomiona aplikacja „nasłuchująca” połączeń używa punktu końcowego jako „drzwi wejściowych”. Gdy chcesz połączyć się z aplikacją / usługą / narzędziem w celu wymiany danych, łączysz się z jej punktem końcowym
Termin punkt końcowy był początkowo używany dla usług WCF. Później, mimo że to słowo jest używane jako synonim zasobów API, REST zaleca wywoływanie tych URI (URI [s], które rozumieją czasowniki HTTP i są zgodne z architekturą REST) jako „Zasób”.
W skrócie, zasób lub punkt końcowy to rodzaj punktu wejścia do zdalnie hostowanej aplikacji, która umożliwia użytkownikom komunikowanie się z nią za pośrednictwem protokołu HTTP.
Głosy przeciwne nie mają ze mną nic wspólnego, ale źródło (: Nawet nie wskazano powodu.
Każdy punkt końcowy to lokalizacja, z której interfejsy API mogą uzyskać dostęp do zasobów potrzebnych do wykonywania swoich funkcji. Oznacza to, że miejsce, w którym interfejsy API wysyłają żądania i gdzie znajduje się zasób, nazywane jest punktem końcowym.
Z fajnego źródła .
Krótka odpowiedź: „punkt końcowy to abstrakcja, która modeluje koniec kanału wiadomości, przez który system może wysyłać lub odbierać wiadomości” ( Ibsen, 2010 ).
Punkt końcowy vs URI (ujednoznacznienie)
Punkt końcowy nie jest tym samym, co identyfikator URI. Jednym z powodów jest to, że identyfikator URI może prowadzić do różnych punktów końcowych, takich jak punkt końcowy do GET, inny do POST i tak dalej. Przykład:
@GET /api/agents/{agent_id} //Returns data from the agent identified by *agent_id*
@PUT /api/agents/{agent_id} //Update data of the agent identified by *agent_id*
Punkt końcowy a zasób (ujednoznacznienie)
Punkt końcowy nie jest tym samym, co zasób. Jednym z powodów jest to, że różne punkty końcowe mogą prowadzić do tego samego zasobu. Przykład:
@GET /api/agents/{agent_id} @Produces("application/xml") //Returns data in XML format
@GET /api/agents/{agent_id} @Produces("application/json") //Returns data in JSON format
Mówiąc najprościej, punkt końcowy to jeden koniec kanału komunikacyjnego. Gdy interfejs API współdziała z innym systemem, punkty styku tej komunikacji są traktowane jako punkty końcowe. W przypadku interfejsów API punkt końcowy może zawierać adres URL serwera lub usługi. Każdy punkt końcowy to lokalizacja, z której interfejsy API mogą uzyskać dostęp do zasobów potrzebnych do wykonywania swoich funkcji.
Interfejsy API działają przy użyciu „żądań” i „odpowiedzi”. Gdy interfejs API żąda informacji z aplikacji internetowej lub serwera WWW, otrzyma odpowiedź. Miejsce, w którym interfejsy API wysyłają żądania i gdzie znajduje się zasób, nazywane jest punktem końcowym.