在完成了相关的业务接口的开发后,你正打算放到服务器上给其他同事查看时,你又想到了一个问题,这些 API 接口,没有鉴权功能,那就是所有知道地址的人都可以请求该项目的 API 接口和 Swagger 文档,甚至有可能会被网络上的端口扫描器扫描到后滥用,这非常的不安全,怎么办呢。实际上,我们应该要考虑做纵深防御,对 API 接口进行访问控制。
目前市场上比较常见的两种 API 访问控制方案,分别是 OAuth 2.0 和 JWT,但实际上这两者并不能直接的进行对比,因为它们是两个完全不同的东西,对应的应用场景也不一样,我们可以先大致了解,如下:
OAuth 2.0:本质上是一个授权的行业标准协议,提供了一整套的授权机制的指导标准,常用于使用第三方登陆的情况,像是你在网站登录时,会有提供其它第三方站点(例如用微信、QQ、Github 账号)关联登陆的,往往就是用 OAuth 2.0 的标准去实现的。并且 OAuth 2.0 会相对重一些,常常还会授予第三方应用去获取到我们对应账号的个人基本信息等等。
JWT:与 OAuth 2.0 完全不同,它常用于前后端分离的情况,能够非常便捷的给 API 接口提供安全鉴权,因此在本章节我们采用的就是 JWT 的方式,来实现我们的 API 访问控制功能。
完整资料进入【数字空间】查看——搜索"writebug"
WRITE-BUG研发团队衷心希望【WRITE-BUG数字空间】可以给每位同学一个属于自己的秘密空间,同时祝愿大家在“公开圈子”世界里,遇见志同道合的伙伴们,因为我们与大家一样,都曾孤独前行着。