首先还是想说需要按照项目环境和需求情况判断是否要使用OAuth2.0规范,如果基于自研认证授权系统,自己定义接口和规范。虽然OAuth2.0规范已经很完整、安全性也有保障。但是整个规范有些是必要的,有些是非必须的规范(比如 state字段的传递),那么很可能面临被攻击的风险。
安全攻击和防御就是成本的问题,如果项目本身岌岌无名那么可能都没有人专门写东西进行攻击,没有价值。但是如果项目快速发展到阿里、京东的体量,那么就需要严格按照规范进行重构,下面列举了一些不按照规范进行开发可能会遇到的风险问题。根据现有架构不一定使用最高大上的架构,架构适合的才是最好的,一定要知道当前项目当下最适合的形态,有没有风险问题。
下面整理了一些Oauth2.0不按规范可能会触发的安全问题: