GAF 认证对接介绍

GAF 认证对接介绍

前几篇文章对GAF的各个模块功能进行详细介绍,并通过管网示例, 实践了扩展开发流程。接下来重点介绍GAF的认证体系,以及如何与其他系统相互之间对接认证,解决系统之间的如何共享用户体系、单点登录问题。

认证模块介绍

使用的技术

在认证微服务模块(gaf-authentication), 使用spring-security+oauth2.0,提供认证、oauth2、token、用户相关的接口。相关接口可查看API文档

在网关模块,使用spring-cloud-gateway +一系列自定义过滤器,在网关处进行统一认证。网关调用认证微服务的接口进行认证校验,并获取用户信息,传递给下游微服务,以便下游微服务使用。

认证方式

1. 通过用户名密码登录,后续请求使用cookie

使用POST方式发送请求/api/authentication/login/username_password到网关或者前端,进行登录。后端返回cookie,后续所有请求携带cookie,则可通过认证校验,并获取到用户信息。

image-20221220172345852

2.通过用户名密码获取jwt token, 后续请求使用jwt token

使用POST方式发送请求/api/authentication/token到网关或者前端,从返回内容中的data.access_token字段获取jwt。后续所有请求增加请求头Authorization Bearer ${获取的jwt},则可通过认证校验,并获取到用户信息。

image-20221220173242240

这种方式,适用于其他系统调用GAF系统的接口。

第三方登录

认证组件(gaf-authentication)中,提供了第三方登录配置,支持OpenId和OAuth2协议。

配置说明

yaml格式

login:
  enable-third-party: false #是否开启第三方登录
  third-party-login-model: mutiple  # 第三方登录模式 single (表示只有一种第三方登录) 或者 mutiple (第三方登录可以存在多种)
  third-party-name: oidc:keycloak # 第三方登录名 由下面third-party信息构成 例如oidc:keycloak或者oauth2:github
  third-party:
    oidc:
      keycloak:
        order: 1   # 排序序号
        iconUrl: https://www.keycloak.org/resources/favicon.ico  # 图标地址
        provider:
          authorizationUri: http://xxx:xx/auth/realms/master/protocol/openid-connect/auth  
          tokenUri: http://xxx:xx/auth/realms/master/protocol/openid-connect/token   # 获取token的接口
          userInfoUri: http
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值