eggjs做bff聚合层,鉴权的话应该怎么做
发布于 4 年前 作者 hyx0217 4500 次浏览 来自 问答

思路在app.js里监听全局request事件,在每次请求前都验证一次,但是通过什么来鉴权jwt?还是cookie和session?目前后端那边有一个token验证了,还需要中间层来做吗

10 回复

看安全级别吧,必要的场景或者用着麻烦的可以加。

我们的bff层统一做鉴权。后面的服务就不再鉴权了。 然后因为有好几种鉴权。就写了一个不同的鉴权middleware。根据接口的需求不同使用不同的middleware就完事了。

@Gitforxuyang 具体是用什么方式的鉴权呢,是在每次请求前使用中间件验证是吗?不知道有没有类似的demo可以学习下吗?自己写不知道从哪来写起,就很纠结

@i5ting 我看eggjs文档的passport,应该不适合bff用是吧

@hyx0217 和egg无关的。

鉴权可以做成通用服务。

你指的是哪一层的鉴权? brower – bff – backend

@hyx0217 我们是起一个sso服务。 然后所有请求先经过bff。 bff统一请求sso服务鉴权。 通过的继续往后端分发。

可以写个middleware中间件做鉴权,这样后面的服务就不用做了。

@atian25 就是浏览器请求bff,原先接口是直接brower请求backend,通过请求头带个token,现在加了bff那还需要在bff做个权限验证吗?我是想说如果在bff层统一加一个,那么backend就都不需要了

@hyx0217 一般都要的。

回到顶部