jquery - 术语 "Backchannel Request"是什么意思以及如何发出反向 channel 请求

标签 jquery oauth-2.0 basecamp

更具体地说:

我实际上正在尝试使用支持 OAuth 2.0 的新 Basecamp api 集成到 Baseacamp。感谢他们糟糕的资源和文档,我陷入了这个 documentation 的#4这表示我必须发出反向 channel 请求才能获取访问 token (我已成功完成 1-3 个步骤,这意味着我拥有验证码和状态)。

所以,如果有人对这个野兽有任何了解,请帮助我对抗它;)

我使用了 jso OAuth 2.0 库,它帮助我完成了 1-3 个步骤,但该库使用隐式身份验证授予,而 basecamp 使用授权代码授予。所以我想我必须做一些手动的客户端-服务器舞蹈,这就是为什么我需要知道这个反向 channel 请求的含义以及如何制作一个?

最佳答案

如果您正在开发 JavaScript 客户端应用程序,那么您使用的是错误的 OAuth 2 场景。链接文档中使用的场景称为“授权代码授予”,适用于部署到远程服务器的 Web 应用程序。反向 channel 用于在应用程序和认证服务器之间在后台获取 token ,而不涉及用户,因此 token 甚至不会暴露给用户。由于嵌入式客户端(javascript、移动应用程序等)没有很好分离的远程环境,因此它们无论如何都容易受到攻击,因此有一个简化的“隐式授予”场景,其中不包括此反向 channel 查询。您应该使用隐式授权流程。

根据您链接的文档,Basecamp 使用非常过时的 OAuth2 草案,即版本 5,该规范是在版本 31 之后发布的。在该旧版本中,第一个场景由“type=web_server”标识(更改为规范中的“response_type=code”),而您需要“type=user_agent”(目前规范中的“response_type=token”)才能使用隐式授予场景。我不知道 Basecamp 是否对此有适当的文档,链接的文档说它受支持,但没有其他内容。

关于jquery - 术语 "Backchannel Request"是什么意思以及如何发出反向 channel 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25161803/

相关文章:

javascript - 如何通过ajax发送文件)而不使用html表单?

spring - ResourceServerConfigurerAdapter 与 WebSecurityConfigurerAdapter

php - 使用 PHP 的大本营 OAuth2

file - 从 Basecamp 导出文件

oauth-2.0 - Google Oauth2 API - 无刷新 token

ios - 如何从 New Basecamp (bcx) API 获取项目的所有 Todo 列表及其对应的 Todo

javascript - 如何将series-label默认设置为false并更改highchart中系列标签文本的颜色

javascript - 查找 tr 中的复选框是否被选中

javascript - 如何在jQuery中使用javascript调用方法?

mongodb - 在不实现自定义身份验证方案或解析 token 的情况下从 token header 中删除 "Bearer"?