#8 楼 @caiqinghua 另一方面,微信的 openid 获取是和系统的业务和技术耦合非常紧密的,所以没法单纯通过 Gem 层面抽象
#8 楼 @caiqinghua 因为有 omniauth-wechat-oauth2 这种更专业的 gem 解决呀
用我的 gem 吧。。。就是楼上的链接,之前刚好有朋友已经踩过 APP 支付的坑了...
如何用最少的字符翻转二叉树?请看:(╯°□°)╯︵ ǝǝɹʇ ʎɹɐuıq
@rei 似乎 hotmail 也没有收到,垃圾箱检查过了
设置一个不同的 redirect_uri 呢 这个 oauth:2.0:oob 是用来测试用的,没法用于生产环境
@luikore 求分享
#33 楼 @qicaisheng 看到了,昨天忙,我稍微重构下合并,感谢!
兹瓷!
#31 楼 @qicaisheng 辛苦~ CSRF 这个是 Rails 的防重放的机制,但是对于 API 是没有必要的,看来还是写到文档上比较好~
#29 楼 @qicaisheng 关于 APP 方面配置的情况,麻烦帮忙更新一下 wxpay 的文档吧~ 感谢!
这个问题要看下日志了,可能是你路由的配置问题,文档里我的只是为了示意 实际上我们的系统里是这样配置的路由
resources :orders do
member do
post 'wxpay_notify'
end
end
# will generate route like /orders/:id/wxpay_notify
#25 楼 @qicaisheng 理论是支持的,不过因为我目前没有环境去测试 APP 下的情况,所以避免误导没有写在文档里,如果你可以帮忙测试,通过后请告知我,更新文档、
赞!
祝你幸福!
#12 楼 @ruby_sky 其实也还好了,像 KO 这种网站会接入多家网站,对于微信来说要多存一个 UnionID,存储数据结构要考虑一下。
话说我看过 omniauth-wechat-oauth2 还有我们用的 omniauth-wechat 都没把 unionid 放到返回的结构体里,按照微信支付的文档来看应当会随着返回的。 另外这两个 Gem(后者我贡献过代码解决了)不支持动态定制 scope(scope 在配置写死或者根据传入 URL 参数)还有 state 参数(这个做返回后的页面跳转很有帮助)
当然啦,是不是坑还是结合业务来看的。 首先,定制 scope 在一些场景下很有必要,比如,微信浏览器里的分享到___API,是需要 access_token 的,但此时如果 scope 为 snsapi_userinfo,那么就会弹出授权框,影响用户体验。但是用户注册的时候,还是希望告知用户授权并且这样也可以拿到更全面的用户信息,这时候就需要 snsapi_userinfo 了。
另外,要为微信设计特别的授权流程(如果多网站接入的话),前边说了,从微信处授权有两种目的:1.方便调用分享 API 2.用户注册 要为这两种情况设计不同的行为和交互,而其他网站的接入回调的业务逻辑通常是统一的,这就引入了额外的开发成本。
话说 LZ 可以考虑再深入一步,讲讲开放平台 unionid 的问题,这个估计是对接微信时最大的坑
#20 楼 @jicheng1014 笑来老师是投资人啦
#18 楼 @jicheng1014 任何意见可以提交在 这里 目前排名第一就是插件系统,这么常见的需求应该是 MS 还没做好而已,有一定是板上钉钉的事情
#14 楼 @jicheng1014 和 atom(因为基于同一套框架实现)比,流畅,对 git 支持好,支持大文件(理论最大支持 1g,但我测试过会崩溃,其他网友测试了百兆左右文件操作流畅),支持拖拽。
#11 楼 @quakewang 基本的高亮是有的,ruby 支持已经是一个 提案 ,并且已被接受
这个 Doorkeeper 处理的不是很好,等我有空的时候提个 PR 把强制 SSL 的设置分离出来,不过这个也很简单啦,你方便的时候也可以做~ 关键的文件在https://github.com/doorkeeper-gem/doorkeeper/blob/master/app/validators/redirect_uri_validator.rb#L17
把 Doorkeeper.configuration.native_redirect_uri
设置为 true
即可