biscuit 委托&去中心化&基于功能的授权令牌
基于token 的认证在微服务,以及api 安全中是比较常见的,大家使用比较多的是jwt,但是目前大家对于jwt 吐槽的地方是越来越多了
(核心还是和安全有一些关系)
包含的特性
- 去中心化的校验
基于了公钥模式 - 离线减弱
核心是可以基于一个校验过的key,生成新的权限小的key(适合权限委托) - datalog 测试
准入基于了一个逻辑语言,可以通过应用提供,或者基于token 转换(就是上线的离线减弱) - 功能或者访问控制列表
提供基于功能的准入控制,同时也可以实现acl - token的废除
包含了一个维护可废除标识的,可以token 以及派生的token - 可移植
目前已经提供了不少语言的实现,包含了rust,golag,nodejs,python,java。。。
因为基于了protobuf 以及Ed25519 签名
说明
macaroons 提供了部分类似biscuit 的玩法,但是目前似乎不太活跃,biscuit 从功能上看似乎更加符合实际基于token 的玩法,值得学习试用下
参考资料
https://github.com/biscuit-auth/biscuit
https://www.biscuitsec.org/
https://github.com/biscuit-auth/biscuit-java
https://www.biscuitsec.org/docs/guides/microservices/
https://www.biscuitsec.org/docs/guides/revocation/
http://macaroons.io/