我决定第一次尝试实现微服务体系结构,而不是单一的体系结构,结果遇到了授权问题。在单片架构中,我只是在访问Authorize属性挂起的控制器时在头中传递令牌,并根据当前的单个数据库对其进行检查。但在微服务架构中,每个微服务都有自己的数据库,如何在访问其他微服务时检查token,我听说过在API Gateway中实现了check,但我认为,无论如何,每个微服务都应该有自己的检查,因为如果用户没有授权,应该没有访问api的权限。是否需要使用api网关向授权微服务发起验证请求?我如何实现这一点?
我有一个单独的微服务用于用户授权(注册、登录、签发令牌),它有一个具有令牌的用户数据库。也就是说,我需要使用API Gateway向这个微服务发出请求?
发布于 2021-01-07 19:47:12
单向-您应该尝试在API网关级进行身份验证/授权。当任何API调用到达API Gateway时,需要一些权限,然后检查令牌。如果访问/令牌不存在,则返回401。在前端,如果你得到401,那么在UI上进行身份验证。
第二路- UI将令牌传递到API Gateway,API Gateway将进一步将令牌发送到其他微服务。
这取决于你需要多大粒度的权限。如果它是非常粒子级的,那么使用第二个,否则使用第一个。
https://stackoverflow.com/questions/65611674
复制相似问题