白名单
如何设置api访问白名单.
白名单
在本地开发或者对外提供api服务场景下,在未登陆的情况,我们期望能访问api服务,这时可以通过sofast的白名单功能实现。
本地开发场景
v2.x版本,开发微服务时,不启动网关和认证服务的情况下,可,以直接调试微服务,不需要白名单配置。 v1.x版本,需要在在微服务的配置文件[application-dev.yml]中添加白名单配置。例如:
#安全配置
sofast:
security:
white-list: "/demo/**"
外部api调用
当我们开发的接口需要提供给匿名用户使用时, v2.x版本只需要在网关中配置白名单,就可以正常访问。 v1.x版本需要在微服务和网关中都配置白名单,才可以正常访问。例如:
so-fast-gateway的application.yml
sofast:
token:
whiteList:
- /v2/api-docs
- /**/swagger-ui/index.html
- /so-fast-uaa/login/**
- /webjars/**
微服务的application-dev.yml
#安全配置
sofast:
security:
white-list: "/demo/**"
开放白名单意味着将接口直接暴露,安全性较为薄弱,在生产环境中,必须添加其他认证手段来阻挡非正常请求的攻击。建议:
1.将开放接口的微服务进行隔离部署,不要同内部微服务部署在同一区。
2.调用双方约定识别因子,用于寻源;请求参数采用加密处理,防止篡改。