如何在 Basecamp oauth api 授权期间识别用户?

How to identify a user during Basecamp oauth api authorization?

这是我的场景。我的用户想要将我的应用程序与 basecamp 集成。他们点击 link,例如:http://myapp.com/api/basecamp/enable/abc123xyz。本例中的 abc123xyz 是用户 ID。所以我的应用程序然后重定向到 Basecamp 以启动 OAuth 进程。

一旦用户同意允许访问,Basecamp 将重定向回 http://myapp.com/api/basecamp/complete?code=123456。此时用户的 "chain" 已损坏,所以我不知道此代码是针对哪个用户的。我尝试使用 http://myapp.com/api/basecamp/complete/abc123xyz 的重定向 url 但是 basecamp 拒绝此 URL 作为无效,我假设这是由于请求中提供的重定向 uri 与我注册的应用程序重定向不匹配 url。

知道如何将某些东西传递给 github,他们会传回给我,这样我就可以将访问令牌与请求启用它的用户相关联吗? Github 允许在绑定到用户的 oauth 请求期间发送 state 属性 并与他们的请求一起发回,以便可以在请求之间查找用户。谢谢!

所以,实际看了文档,basecamp是支持state参数的,我的问题就这样解决了。