最近将项目的认证这块拿出来重写做独立的一个项目。
认证模块做以下事情
不做以下事情
简言之就是作 token provider, 而且 client 是固定的几个,不接收注册。
还有个比较土的是基于历史原因,一直使用 oauth 2.0 的一个 draft 版本,都不是以bearer
开始。
在前面两个版本的实现中,第一版是用oauth
和oauth-provider
实现;第二版是doorkeeper
实现。
现在再复查下这两种 gem,基本上都有大部分功能用不上以及逻辑大段的 customise 问题。 特别 doorkeeper 觉得一个简单的逻辑被分在很多代码碎片中了,读和 debug 都很难受。
但如果自己写,可能的后果是拓展性和适用性不会好。一些命名和规范可能就不遵循 oauth2 了。
不知道大家有没有碰到类似的,gem 不通用,大部分都 customise 的情况,是自己写还是往 gem 中套呢?