现在项目代码耦合在一起,现在打算进行重构,目的是用不同语言来对功能模块进行重构。
现在是 nginx+lua 作为一个简单的网关,进行消息转发。
现在比较困惑的就是,认证与鉴权是直接在网关层做,
还是说在后端起一个鉴权服务来进行处理。
这两者之间比较困惑, 所以想知道下主流的技术方案。
现在项目代码耦合在一起,现在打算进行重构,目的是用不同语言来对功能模块进行重构。
现在是 nginx+lua 作为一个简单的网关,进行消息转发。
现在比较困惑的就是,认证与鉴权是直接在网关层做,
还是说在后端起一个鉴权服务来进行处理。
这两者之间比较困惑, 所以想知道下主流的技术方案。
|
rocbyteAug 25, 2022
1
我觉得在网关层比较好,后面一马平川,像有些接口服务之间调用比较多的话,频繁的鉴权也影响效率
|
|
heloneAug 25, 2022
2
网关层
|
|
zzzzz001Aug 25, 2022
3
我的理解,网关 调用 鉴权服务。
|
|
iamtsmAug 25, 2022
4
楼主用 nginx+lua 这块,像网关鉴权的话,市面上也比较多的一些优秀开源框架,kong, apisix, orange 都有类似鉴权插件的。或者自己写一个也行。
|
|
coderxyAug 25, 2022
5
lua 里面去调用鉴权服务进行鉴权。
|
|
6
明白大家的意思了,自己用 nginx+lua 写的话,比较可控。
|
|
wetalkAug 25, 2022
7
当然 api 层,否则 req 进入到集群内部,不可能每个服务都做一次鉴权
|
|
8
网关做通用鉴权, 鉴权服务做特殊业务的鉴权
|
|
10
来你可以来抄作业了…… 鉴权在 gateway 做, 每个请求都知道是否鉴权了. 就算是前端的请求来了也知道是不是登录了. 虽然可以向 openid 获取 /user 来获取用户. 这样会先一步知道有没有登陆. 每个用户鉴权成功会有 session 在 gateway 产生,具体就是会有个 cookie 存在客户端,每个请求都带有他. 鉴权是单独做的 openid 服务器. gateway 也管着 token 续命.
|
|
adoalAug 25, 2022
11
认证在网关,鉴权看情况
|
|
AliberterAug 25, 2022
12
最近刚做了这块,单独起的 auth 服务,然后在网关全局过滤器里通过 feign 调用 auth 服务进行鉴权
|
|
runningmanAug 25, 2022
13
nginx + lua 复杂吗
|
|
xuanbgAug 25, 2022
14
网关!合适做身份认证和鉴权的只有网关。
|
|
mmdsunAug 25, 2022 via iPhone
15
|
|
saberscarletAug 26, 2022
16
网关做认证,鉴权,调用单独的 auth 服务,接口权限根据业务判断了,注意 token 的传递
|