使用OAuth2进行认证授权,以上是认证授权流程图,分如下几个步骤进行:
1.浏览器展示的前端网页发起认证请求,跳转到OAuth2认证服务器,用户进行登录。使用的是授权码的认证方式。
2.用户在OAuth服务器上认证成功了之后,OAuth服务器返回授权码给前端服务器。
3.前端服务器拿到授权码后,通过网关向OAuth服务器请求令牌。
4.前端服务器请求令牌成功后,用户的每次请求前端服务器都会携带上获取到的令牌,然后再把请求发送到网关。
5.网关首先对前端请求的令牌进行校验,然后调用权限微服务进行用户权限认证。
6.令牌认证与用户权限认证都通过了之后,网关再把请求转发给对应的微服务。
用户权限认证这块分为两部分:
1:配置OAuth2的scope参数以限制客户端能访问的资源服务器。
2:根据用户自身的权限和用户的请求进行权限认证。比如当前用户是对优惠券模板微服务进行请求,用户有read权限,所以可以进行查找所有可用的优惠券模板操作。但是用户没有write权限,所以如果用户发起的是构建优惠券模板的请求,则权限认证不通过,网关直接返回错误信息,不转发请求。
请问老师对这个方案有什么见解?不知道老师在实际工作中微服务用户认证授权这一块又是怎么做的?用什么技术实现的?望老师解答,谢谢老师。