一种网关认证和身份鉴权的平台及其方法技术

技术编号:26178171 阅读:24 留言:0更新日期:2020-10-31 14:26
一种网关认证和身份鉴权的平台,包括客户端、API网关、由多个Redis缓存构成的Redis集群、统一认证授权服务、由多个用户数据库构成的用户数据库、由多个服务应用构成的服务模块,用户通过客户端登陆平台,获取鉴权认证信息,通过API网关直接调用统一认证授权服务,访问用户数据库,校验登录账号信息与用户数据库保存信息是否一致,如果一致,再请求认证服务生成唯一的认证令牌token,存到分布式缓存Redis缓存中,带上认证令牌token返回客户端,客户端存储认证令牌token;如果不一致,则返回客户端提示平台不存在该用户,需要先注册。

【技术实现步骤摘要】
一种网关认证和身份鉴权的平台及其方法
本专利技术涉及网关认证和身份鉴权。尤其是一种网关认证和身份鉴权的平台及其方法。
技术介绍
在医美行业,采用网关认证或身份鉴权单一模式的比较多,但缺乏网关认证和身份鉴权统一认证机制,通过这种方式,解决了单独网关认证和单独身份认证各自的弊端,如网关认证存在过滤器失效导致认证失败的问题,身份认证则存在缓存身份信息超时和刷新重载出错的问题,只有把二者结合起来,才能解决上述问题。该技术实现了通过设置网关动态路由和分布式缓存的方式,解决了单独网关认证和单独身份认证各自的弊端,对系统的访问增加了双重保护,保证了平台信息和资金的安全性、用户访问操作便利性,大大降低平台资金和敏感信息风控。
技术实现思路
本专利技术为了克服现有技术方案的不足,聚焦在医美行业,采用统一网关认证和身份鉴权机制,保证了平台信息和资金的安全性、用户访问操作便利性,大大降低平台资金和敏感信息风控等,提供了一种网关认证和身份鉴权的平台及其方法。为了实现上述目的,本专利技术的技术方案为:一种网关认证和身份鉴权的平台,包括客户端、API网关、由多个Redis缓存构成的Redis集群、统一认证授权服务、由多个用户数据库构成的用户数据库、由多个服务应用构成的服务模块,用户通过客户端登陆平台,获取鉴权认证信息,通过API网关直接调用统一认证授权服务,访问用户数据库,校验登录账号信息与用户数据库保存信息是否一致,如果一致,再请求认证服务(Oauth2/jwt)生成唯一的认证令牌token,存到分布式缓存Redis缓存中,带上认证令牌token返回客户端,客户端存储认证令牌token;如果不一致,则返回客户端提示平台不存在该用户,需要先注册;客户端在访问的头部数据head中携带生成的认证令牌token访问服务模块,先通过API网关的统一认证后,由统一的API网关路由到相应的服务应用,由相应的服务应用访问Redis缓存来验证认证令牌token,如果验证通过,同时获取该用户的权限列表,解析通过后,则能访问相应的服务应用的功能内容,如果验证不通过,则返回客户端提示用户没有服务应用的访问权限,服务应用之间正常访问需要进行服务间访问鉴权,服务应用通过解析器TokenResolver解析头部数据head上的认证令牌token并通过SecurityFilter来验证是否能访问该服务应用,如果通过验证,则能正常访问,否则返回客户端提示无权限访问。一种网关认证和身份鉴权的方法,S1.用户通过客户端APP向API网关发起登录平台的请求;S2.请求并生成访问令牌access_token:向统一认证授权服务(Oauth2/JWT)请求生成访问令牌access_token,验证该用户信息的有效性,如果正确,平台会生成access_token并访问用户数据库;S3.将访问令牌access_token及其携带的认证权限存储到Redis缓存中,便于平台或其它系统后续使用;S4.用户通过访问令牌access_token访问相应的服务应用校验其合法性;S5.获取Redis缓存中现有登录令牌token,比较访问令牌access_token和现有令牌token,验证访问令牌access_token的合法性和有效性(是否过期等);S6.校验通过,则向相应的服务应用返回访问令牌access_token;S6.1.相应的服务应用返回校验通过的登录令牌login_token给客户端;S7.客户端携带登录令牌login_token通过统一认证授权服务访问其它服务应用;S7.1.其它服务应用校验登录令牌login_token的合法性;S7.2.通过Redis缓存或用户数据库获取当前用户变更信息或权限变更信息,同时在Redis缓存中删除过去式令牌信息;S7.3.其它服务应用返回新的用户信息给统一认证授权服务;S8.统一认证授权服务重新生成现有令牌token并在Redis缓存存储,重新生成访问其它页面授权令牌;S8.1.返回其它服务应用授权页面给客户端。有益效果:(1)采用统一网关认证和身份鉴权机制,保证了平台信息和资金的安全性、用户访问操作便利性,大大降低平台资金和敏感信息风控;(2)简化内部服务之间互相调用的复杂度;(3)具有轻量级植入特性;(4)安全性系数高;(5)使用范围广;(6)使用软硬双加密技术保障了平台的通信和信息传输的安全性;(7)实支持有网络隔离和无网络隔离多种系统部署场景;(8)通过混合加密模式确保信用数据共享交换过程中数据传输的安全性;(9)负载均衡器按照策略分配到服务节点,保负载均衡器能真实准确地获取服务节点的实时处理能力,避免实时参数过程对系统的性能造成影响;附图说明图1为本专利技术的服务网关路由和身份鉴权认证平台结构图;图2为本专利技术的服务网关路由和身份鉴权认证方法流程图;具体实施方式下面结合附图与实施例对本专利技术作进一步的说明。一种网关认证和身份鉴权的平台,包括客户端、API网关、由多个Redis缓存构成的Redis集群、统一认证授权服务、由多个用户数据库构成的用户数据库、由多个服务应用构成的服务模块,用户通过客户端登陆平台,获取鉴权认证信息,通过API网关直接调用统一认证授权服务,访问用户数据库,校验登录账号信息与用户数据库保存信息是否一致,如果一致,再请求认证服务(Oauth2/jwt)生成唯一的认证令牌token,存到分布式缓存Redis缓存中,带上认证令牌token返回客户端,客户端存储认证令牌token;如果不一致,则返回客户端提示平台不存在该用户,需要先注册;客户端在访问的头部数据head中携带生成的认证令牌token访问服务模块,先通过API网关的统一认证后,由统一的API网关路由到相应的服务应用,由相应的服务应用访问Redis缓存来验证认证令牌token,如果验证通过,同时获取该用户的权限列表,解析通过后,则能访问相应的服务应用的功能内容,如果验证不通过,则返回客户端提示用户没有服务应用的访问权限,服务应用之间正常访问需要进行服务间访问鉴权,服务应用通过解析器TokenResolver解析头部数据head上的认证令牌token并通过SecurityFilter来验证是否能访问该服务应用,如果通过验证,则能正常访问,否则返回客户端提示无权限访问。至此权限验证中有关token生成、存储、校验、更新等模式流程完成。其中,客户端为手机、PC以及POS机。一种网关认证和身份鉴权的方法,S1.用户通过客户端APP向API网关发起登录平台的请求;S2.请求并生成访问令牌access_token:向统一认证授权服务(Oauth2/JWT)请求生成访问令牌access_token,验证该用户信息的有效性,如果正确,平台会生成access_toke本文档来自技高网...

【技术保护点】
1.一种网关认证和身份鉴权的平台,包括客户端、API网关、由多个Redis缓存构成的Redis集群、统一认证授权服务、由多个用户数据库构成的用户数据库、由多个服务应用构成的服务模块,/n用户通过客户端登陆平台,获取鉴权认证信息,通过API网关直接调用统一认证授权服务,访问用户数据库,校验登录账号信息与用户数据库保存信息是否一致,如果一致,再请求认证服务生成唯一的认证令牌token,存到分布式缓存Redis缓存中,带上认证令牌token返回客户端,客户端存储认证令牌token;如果不一致,则返回客户端提示平台不存在该用户,需要先注册;/n客户端在访问的头部数据head中携带生成的认证令牌token访问服务模块,先通过API网关的统一认证后,由统一的API网关路由到相应的服务应用,由相应的服务应用访问Redis缓存来验证认证令牌token,如果验证通过,同时获取该用户的权限列表,解析通过后,则能访问相应的服务应用的功能内容,如果验证不通过,则返回客户端提示用户没有服务应用的访问权限,/n服务应用之间正常访问需要进行服务间访问鉴权,服务应用通过解析器TokenResolver解析头部数据head上的认证令牌token并通过SecurityFilter来验证是否能访问该服务应用,如果通过验证,则能正常访问,否则返回客户端提示无权限访问。/n...

【技术特征摘要】
1.一种网关认证和身份鉴权的平台,包括客户端、API网关、由多个Redis缓存构成的Redis集群、统一认证授权服务、由多个用户数据库构成的用户数据库、由多个服务应用构成的服务模块,
用户通过客户端登陆平台,获取鉴权认证信息,通过API网关直接调用统一认证授权服务,访问用户数据库,校验登录账号信息与用户数据库保存信息是否一致,如果一致,再请求认证服务生成唯一的认证令牌token,存到分布式缓存Redis缓存中,带上认证令牌token返回客户端,客户端存储认证令牌token;如果不一致,则返回客户端提示平台不存在该用户,需要先注册;
客户端在访问的头部数据head中携带生成的认证令牌token访问服务模块,先通过API网关的统一认证后,由统一的API网关路由到相应的服务应用,由相应的服务应用访问Redis缓存来验证认证令牌token,如果验证通过,同时获取该用户的权限列表,解析通过后,则能访问相应的服务应用的功能内容,如果验证不通过,则返回客户端提示用户没有服务应用的访问权限,
服务应用之间正常访问需要进行服务间访问鉴权,服务应用通过解析器TokenResolver解析头部数据head上的认证令牌token并通过SecurityFilter来验证是否能访问该服务应用,如果通过验证,则能正常访问,否则返回客户端提示无权限访问。


2.在如权利要求1所述的网关认证和身份鉴权的平台的网关认证和身份鉴权的方法,包括如下步骤:
S1.用户通过客户端APP向API网关发起登录平台的请求;
S2.请求并生成访问令牌access_token:向统一认证授权服务(Oauth2/JWT)请求生成访问令牌access_token,验证该用户信息的有效性,如果正确,平台会生成access_token并访问用户数据库;
S3.将访问令牌access_token及其携带的认证权限存储到Redis缓存中,便于平台或其它系统后续使用;
S4.用户通过访问令牌access_token访问相应的服务应用校验其合法性;
S5.获取Redis缓存中现有登录令牌token,比较访问令牌access_token和现有令牌token,验证访问令牌access_token的合法性和有效性(是否过期等);
S6.校验通过,则向相应的服务应用返回访问令牌access_token;
S6.1.相应的服务应用返回校验通过的登录令牌login_token给客户端;
S7.客户端携带登录令牌login_token通过统一认证授权服务访问其它服务应用;
S7.1.其它服务应用校验登录令牌login_token的合法性;
S7.2.通过Redis缓存或用户数据库获取当前用户变更信息或权限变更信息,同时在Redis缓存中删除过去式令牌信息;
S7.3.其它服务应用返回新的用户信息给统一认证授权服务;
S8.统一认证授权服务重新生成现有令牌token并在Redis缓存存储,重新生成访问其它页面授权令牌;
S8.1.返回其它服务应用授权页面给客户端。


3.根据权利要求2所述的网关认证和身份鉴权的方法,其特征在于:API网关为SCGateway服务网关并具有负载均衡工具,实现了服务自动发现技术,自动发现技术是指通过监听机制来保障任何新增的注册服务,平台都能自动发现该注册服务,所有在注册中心配置任何注册服务,都能在应用中自动被发现和被拉取,本地调用该远程服务。


4.根据权利要求3所述的网关认证和身份鉴权的方法,其特征在于:API网关实现路由的可配置和插拔式的应用,可配置和插拔式是指通过在代码注解@RefreshScope来实现实时刷新机制,在配置中心中任何更新信息,无需重新启动应用,直接在服务应用中生...

【专利技术属性】
技术研发人员:廖世友
申请(专利权)人:多加网络科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1