Was ist ein Endpunkt?

172

Ich habe über OAuth gelesen und es wird immer wieder über Endpunkte gesprochen. Was genau ist ein Endpunkt?

Klanestro
quelle
2
Ich stolpere immer wieder über alte Posts wie diese und kann nicht verstehen, warum diese Art von Post in der Vergangenheit immer positiv bewertet wurde, aber es wäre definitiv verprügelt und negativ bewertet, wenn dies ein aktueller Beitrag ist.
tnkh
6
Vielleicht ist es positiv bewertet, weil es eine Frage ist, die auch andere Leute haben. Ist das nicht der Punkt?
Nora McDougall-Collins

Antworten:

74

Alle bisher veröffentlichten Antworten sind korrekt. Ein Endpunkt ist einfach ein Ende eines Kommunikationskanals. Im Fall von OAuth gibt es drei Endpunkte, mit denen Sie sich befassen müssen:

  1. Temporäre Anforderungs-URI für Anmeldeinformationen (in der OAuth 1.0a-Community-Spezifikation als Request Token-URL bezeichnet). Dies ist eine URI, an die Sie eine Anforderung senden, um ein nicht autorisiertes Anforderungstoken vom Server / Dienstanbieter zu erhalten.
  2. URI für die Autorisierung von Ressourcenbesitzern (in der OAuth 1.0a-Community-Spezifikation als URL für die Benutzerautorisierung bezeichnet). Dies ist eine URI, zu der Sie den Benutzer anweisen, ein Anforderungstoken zu autorisieren, das von der URI für die Anforderung temporärer Anmeldeinformationen abgerufen wurde.
  3. Token-Anforderungs-URI (in der OAuth 1.0a-Community-Spezifikation als Zugriffstoken-URL bezeichnet). Dies ist eine URI, an die Sie eine Anforderung senden, um ein autorisiertes Anforderungstoken gegen ein Zugriffstoken auszutauschen, mit dem Sie dann Zugriff auf eine geschützte Ressource erhalten.

Hoffe, das hilft, die Dinge zu klären. Viel Spaß beim Lernen über OAuth! Stellen Sie weitere Fragen, wenn Sie Schwierigkeiten bei der Implementierung eines OAuth-Clients haben.

Paul Osman
quelle
5
Warum nicht einfach (dh "Endpunkt") als "Basis-URI" bezeichnen? Gibt es einen grundlegenden Unterschied zwischen einem "Endpunkt" und einem "Basis-URI"? Vielen Dank.
Zurückgehalten
@Xlsx Das hängt von der Implementierung ab. Eine Beispielanforderung könnte sein, "/ users? Name = admin" oder "/ users / admin" zu erhalten. Sie könnten das eine oder das andere oder beide oder keines tun.
Burak
2
Nicht nützlich, da OP nach "allgemeinen Endpunkten" gefragt hat, nicht speziell nach OAuth. Ich bin jetzt verwirrt.
Morgengrauen
307

Komm schon Leute :) Wir könnten es einfacher machen, anhand von Beispielen:

/this-is-an-endpoint
/another/endpoint
/some/other/endpoint
/login
/accounts
/cart/items

und wenn es unter eine Domain gestellt wird, sieht es so aus:

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

Kann entweder http oder https sein, wir verwenden im Beispiel https.

Auch der Endpunkt kann für verschiedene HTTP-Methoden unterschiedlich sein, zum Beispiel:

GET /item/{id}
PUT /item/{id}

würden zwei verschiedene Endpunkte sein - eine für R (wie in „c etrieving R ud“ Abkürzung) und die andere für u (wie in „cr ktualisieren U d“)

Und das ist alles, wirklich so einfach!

Tomeg
quelle
25
Upvoted für die Erwähnung, dass verschiedene HTTP-Methoden separate Endpunkte definieren.
Boyan Kushlev
3
Matthäus 20:16 King
James Version
2
Es ist schade, Stack Exchange zeigt diese Antwort nicht als erste oder zweite Antwort an. Für mich war es ganz unten auf der Liste und definitiv die beste, da ich nicht wusste, ob eine ganze Reihe von Aktionen und Controllern als Endpunkt betrachtet wurde oder eine einzelne Aktion in einem einzelnen Controller einen Endpunkt definierte. Diese Antwort sagte mir, dass es das letztere war.
Thorkil Værge
So bedauerlich, dass OP diese Antwort nicht ausgewählt hat, was die beste Antwort ist.
1
@Parth Der Endpunkt ist im Allgemeinen das, was von einer Anfrage aufgerufen werden soll, was Sie als Schnittstelle zu Ihren API-Verbrauchern bereitstellen - was Sie ihnen sagen, dass sie verwenden sollen. In diesem Beispiel behandelt Ihre Implementierung also zwei Endpunkte (weil Sie Ihrem API-Konsumenten / Benutzer zwei Möglichkeiten zum Aufrufen von etwas bereitgestellt haben). Aber ich habe gerade geschrieben, dass es "allgemein" ist und wenn es eine Person gibt, die darauf besteht, den Endpunkt etwas anders aufzurufen (z. B. würde in Ihrem Beispiel jemand darauf bestehen, dass dies ein Endpunkt ist), dann sagen Sie "OK, was auch immer, das sind diese." Ich bin froh, dass wir uns einfach verstehen "
Tomeg
43

Es ist ein Ende eines Kommunikationskanals, daher wird dies häufig als URL eines Servers oder Dienstes dargestellt.

David M.
quelle
35

Ein Endpunkt ist ein URL-Muster, das zur Kommunikation mit einer API verwendet wird.

SirLemuel
quelle
12

Endpunkt im OpenID-Authentifizierungsjargon ist die URL, an die Sie die Authentifizierungsanforderung senden (POST).

Auszüge aus der Google-Authentifizierungs-API

Um den Google OpenID-Endpunkt abzurufen, führen Sie die Ermittlung durch, indem Sie entweder eine GET- oder eine HEAD-HTTP-Anforderung an https://www.google.com/accounts/o8/id senden . Bei Verwendung eines GET empfehlen wir, den Accept-Header auf "application / xrds + xml" zu setzen. Google gibt ein XRDS-Dokument zurück, das eine OpenID-Anbieter-Endpunkt-URL enthält. Die Endpunktadresse ist wie folgt gekennzeichnet:

<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/server</Type> 
<URI>{Google's login endpoint URI}</URI> 
</Service>

Sobald Sie den Google-Endpunkt erworben haben, können Sie Authentifizierungsanforderungen an ihn senden und die entsprechenden Parameter angeben (verfügbar auf der verlinkten Seite). Sie stellen eine Verbindung zum Endpunkt her, indem Sie eine Anfrage an die URL senden oder eine HTTP-POST-Anfrage stellen.

Amarghosh
quelle
7

Ein Endpunkt ist der Verbindungspunkt eines Dienstes, Tools oder einer Anwendung, auf die über ein Netzwerk zugegriffen wird. In der Welt der Software verwendet jede Softwareanwendung, die ausgeführt wird und auf Verbindungen "wartet", einen Endpunkt als "Eingangstür". Wenn Sie eine Verbindung zur Anwendung / zum Dienst / zum Tool herstellen möchten, um Daten auszutauschen, stellen Sie eine Verbindung zu deren Endpunkt her

Justin Franks
quelle
4

Der Begriff Endpunkt wurde ursprünglich für WCF-Dienste verwendet. Obwohl dieses Wort später auch für API-Ressourcen verwendet wird, empfiehlt REST, diese URI (URI (s), die HTTP-Verben verstehen und der REST-Architektur folgen) als "Ressource" zu bezeichnen.

Kurz gesagt, eine Ressource oder ein Endpunkt ist eine Art Einstiegspunkt in eine remote gehostete Anwendung, über die die Benutzer über das HTTP-Protokoll mit ihr kommunizieren können.

krishna kanth
quelle
4

Die Abstimmungen haben nichts mit mir zu tun, aber die Quelle (: Auch kein Grund dafür angegeben.


Jeder Endpunkt ist der Speicherort, von dem aus APIs auf die Ressourcen zugreifen können, die sie zur Ausführung ihrer Funktion benötigen. Das heißt, der Ort, an dem APIs Anforderungen senden und an dem sich die Ressource befindet, wird als Endpunkt bezeichnet.

Aus einer schönen Quelle .

snr
quelle
2

Der Endpunkt des Begriffs ist die URL, die sich auf das Erstellen einer Anforderung konzentriert. Schauen Sie sich die folgenden Beispiele aus verschiedenen Blickwinkeln an:

/api/groups/6/workings/1
/api/v2/groups/5/workings/2
/api/workings/3

Sie können in einer bestimmten API eindeutig auf dieselbe Quelle zugreifen.

Ismael
quelle
1

Kurze Antwort: "Ein Endpunkt ist eine Abstraktion, die das Ende eines Nachrichtenkanals modelliert, über den ein System Nachrichten senden oder empfangen kann" ( Ibsen, 2010 ).


Endpunkt vs URI (Begriffsklärung)

Der Endpunkt ist nicht mit einem URI identisch. Ein Grund dafür ist, dass ein URI zu verschiedenen Endpunkten wie einem Endpunkt zu GET, einem anderen zu POST usw. fahren kann. Beispiel:

@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*

Endpunkt gegen Ressource (Begriffsklärung)

Der Endpunkt ist nicht mit einer Ressource identisch. Ein Grund dafür ist, dass unterschiedliche Endpunkte auf dieselbe Ressource zugreifen können. Beispiel:

@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
Cleber Jorge Amaral
quelle
0

Einfach ausgedrückt ist ein Endpunkt ein Ende eines Kommunikationskanals. Wenn eine API mit einem anderen System interagiert, werden die Berührungspunkte dieser Kommunikation als Endpunkte betrachtet. Bei APIs kann ein Endpunkt eine URL eines Servers oder Dienstes enthalten. Jeder Endpunkt ist der Speicherort, von dem aus APIs auf die Ressourcen zugreifen können, die sie zur Ausführung ihrer Funktion benötigen.

APIs arbeiten mit "Anfragen" und "Antworten". Wenn eine API Informationen von einer Webanwendung oder einem Webserver anfordert, erhält sie eine Antwort. Der Ort, an dem APIs Anforderungen senden und an dem sich die Ressource befindet, wird als Endpunkt bezeichnet.

Weiterlesen...

Saikat
quelle