私はOAuthについて読んでいて、エンドポイントについて話し続けています。エンドポイントとは正確には何ですか?
10 に答える
みんなに来てください:)例によって、もっと簡単にできます:
/this-is-an-endpoint
/another/endpoint
/some/other/endpoint
/login
/accounts
/cart/items
ドメインの下に置くと、次のようになります。
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
httpまたはhttpsのいずれかで、例ではhttpsを使用します。
また、エンドポイントはHTTPメソッドごとに異なる可能性があります。次に例を示します。
GET /item/{id}
PUT /item/{id}
2つの異なるエンドポイントになります。1つは( "c R ud"の省略形のように)取得用で、もう1つは( "cr U d"のように)更新用です。
そして、それはすべて、本当にとても簡単です!
これまでに投稿された回答はすべて正解です。エンドポイントは単に通信チャネルの一端です。OAuthの場合、考慮する必要のあるエンドポイントは3つあります。
- 一時的なクレデンシャルリクエストURI(OAuth 1.0aコミュニティ仕様ではリクエストトークンURLと呼ばれます)。これは、サーバー/サービスプロバイダーから不正なリクエストトークンを取得するためにリクエストを送信するURIです。
- リソース所有者認証URI(OAuth 1.0aコミュニティ仕様ではユーザー認証URLと呼ばれます)。これは、一時的な資格情報要求URIから取得した要求トークンを承認するようにユーザーに指示するURIです。
- トークンリクエストURI(OAuth 1.0aコミュニティ仕様ではアクセストークンURLと呼ばれます)。これは、許可されたリクエストトークンをアクセストークンと交換するためにリクエストを送信するURIであり、アクセストークンを使用して保護されたリソースへのアクセスを取得できます。
それが物事を片付けるのに役立つことを願っています。OAuthについて楽しく学んでください!OAuthクライアントの実装で問題が発生した場合は、さらに質問を投稿してください。
これは通信チャネルの一端であるため、多くの場合、これはサーバーまたはサービスのURLとして表されます。
エンドポイントは、APIとの通信に使用されるURLパターンです。
OpenID認証用語でのエンドポイントは、認証要求を送信(POST)するURLです。
Google認証APIからの抜粋
Google OpenIDエンドポイントを取得するには、GETまたはHEADHTTPリクエストをhttps://www.google.com/accounts/o8/idに送信して検出を実行します。GETを使用する場合は、Acceptヘッダーを「application / xrds+xml」に設定することをお勧めします。Googleは、OpenIDプロバイダーのエンドポイントURLを含むXRDSドキュメントを返します。エンドポイントアドレスには、次のように注釈が付けられます。
<Service priority="0">
<Type>http://specs.openid.net/auth/2.0/server</Type>
<URI>{Google's login endpoint URI}</URI>
</Service>
Googleエンドポイントを取得したら、適切なパラメータを指定して認証リクエストを送信できます(リンク先のページで入手できます)。URLにリクエストを送信するか、HTTP POSTリクエストを行うことで、エンドポイントに接続します。
エンドポイントは、ネットワークを介してアクセスされるサービス、ツール、またはアプリケーションの「接続ポイント」です。ソフトウェアの世界では、接続を実行および「リッスン」しているソフトウェアアプリケーションは、エンドポイントを「フロントドア」として使用します。アプリケーション/サービス/ツールに接続してデータを交換する場合は、そのエンドポイントに接続します
簡単な答え:「エンドポイントは、システムがメッセージを送受信できるメッセージチャネルの終わりをモデル化する抽象化です」(Ibsen、2010年)。
エンドポイントとURI(曖昧さ回避)
エンドポイントはURIと同じではありません。1つの理由は、URIがGETへのエンドポイント、POSTへのエンドポイントなど、さまざまなエンドポイントにドライブできるためです。例:
@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*
エンドポイントとリソース(曖昧さ回避)
エンドポイントはリソースと同じではありません。1つの理由は、異なるエンドポイントが同じリソースにドライブできるためです。例:
@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
エンドポイントという用語は、当初WCFサービスに使用されていました。後でこの単語がAPIリソースと同義語として使用されている場合でも、RESTはこれらのURI(HTTP動詞を理解してRESTアーキテクチャに従うURI)を「リソース」と呼ぶことをお勧めします。
一言で言えば、リソースまたはエンドポイントは、リモートでホストされているアプリケーションへの一種のエントリポイントであり、ユーザーはHTTPプロトコルを介してアプリケーションと通信できます。
用語のエンドポイントは、リクエストの作成に焦点を当てたURLです。さまざまな点から次の例を見てください。
/api/groups/6/workings/1
/api/v2/groups/5/workings/2
/api/workings/3
特定のAPIで同じソースに明確にアクセスできます。
APIは、ApplicationProgrammingInterfaceの略です。これは、アプリケーションがエンドポイントを介して他のアプリケーションと対話するための方法です。逆に、RESTfulであるHTTPメソッドを介して他の開発者が利用/接続できるアプリケーション用のAPIを構築できます。Representational State Transfer(REST):
- GET:APIエンドポイントからデータを取得します。
- PUT:APIを介してデータを更新します-POSTに似ていますが、情報の更新について詳しく説明しています。
- POST:APIにデータを送信します。
- 削除:指定されたAPIからデータを削除します。
- パッチ:データを更新します。