问题分析和解决的过程
最近开发的OAuth2服务器包依赖于RocketChat的OAuth2的包,但是当浏览器带着token提交POST请求到服务器的时候却怎么样都无法获得。
查看源码得知RocketChat没有使用body-parser包。理论上来说由于RocketChat的OAuth2包依赖于Npm的oauth2-server包,也就依赖于express模块,没有用body-paser,也没有手动解析,是无法获取POST请求中的内容的,但是不知为何我之前有测试成功过一两次,而且之后怎么都重现不了。
没办法,只能解除对RocketChat的OAuth2模块的依赖,重写一遍相关逻辑。
没学过CoffeeScript重写相关逻辑确实有点尴尬,幸亏不多,几个关键的语法糖在CoffeeScript临时学一遍也照猫画虎实现了。
加入了body-parser的中间件以后问题解决。