api oauth登录 - 什么是端点?




oauth教程 google (6)

来吧伙计:)我们可以通过示例更简单地做到:

/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}

将是两个不同的端点 - 一个用于检索(如“c R ud”缩写),另一个用于u pdating(如“cr U d”)

这就是全部,真的那么简单!

我一直在阅读OAuth,它一直在讨论端点。 什么是端点?


端点是用于与API通信的URL模式。


术语Endpoint最初用于WCF服务。 稍后即使这个词被用作API资源的同义词,REST建议将这些URI(理解HTTP动词并遵循REST架构的URI [s])称为“资源”。

简而言之,Resource或Endpoint是远程托管应用程序的入口点,允许用户通过HTTP协议与之通信。


在开放式身份验证术语中的终点是您向其发送(POST)身份验证请求的URL。

摘自Google身份验证API

要获取Google OpenID端点,请通过向https://www.google.com/accounts/o8/id发送GET或HEAD HTTP请求来执行发现。 使用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请求来连接到端点。


到目前为止发布的所有答案都是正确的,端点只是通信渠道的一端。 对于OAuth,您需要关注三个端点:

  1. 临时凭证请求URI(在OAuth 1.0a社区规范中称为请求令牌URL)。 这是您发送请求的URI,以便从服务器/服务提供商处获取未经授权的请求令牌。
  2. 资源所有者授权URI(在OAuth 1.0a社区规范中称为用户授权URL)。 这是一个URI,您可以指示用户授权从临时凭证请求URI获取的请求令牌。
  3. 令牌请求URI(在OAuth 1.0a社区规范中称为访问令牌URL)。 这是您发送请求的URI,以便为访问令牌交换授权的请求令牌,然后可以使用该令牌来获取对受保护资源的访问权限。

希望有助于澄清事情。 玩得开心学习OAuth! 如果您在实施OAuth客户端时遇到任何困难,请发布更多问题。


Oauth无疑正在获得发展势头,并在企业级API中受到欢迎。 在应用程序和数据驱动的世界中,企业正在根据Google,Facebook,Twitter向外界暴露越来越多的API。 随着这一发展,一个三方面的认证形成了

1)API提供商 - 通过API公开其资产的任何企业,例如Amazon,Target等2)开发人员 - 通过此API构建移动/其他应用程序的人员3)最终用户 - 由以下人员提供的服务的最终用户 - 说亚马逊的注册/访客用户

现在,这就形成了与安全相关的情况 - (我列出了其中一些复杂性)1)作为最终用户,您希望允许开发人员代表您访问API。 2)API提供者必须认证开发者和最终用户3)最终用户应该能够授予和撤销授予他们同意的权限4)开发者可以对API提供者具有不同级别的信任,其中给予她的权限级别不同

Oauth是一个授权框架,试图以标准方式解决上述问题。 随着API和应用程序的突出,这个问题将变得越来越相关,任何试图解决它的标准 - 无论是其他标准还是其他标准 - 都将作为API提供者/开发者甚至最终用户来关注。





api authentication oauth endpoint