内蒙古政务服务平台网站端登录认证功能

202 阅读3分钟

政务服务平台网站端登录认证功能

统一身份认证系统应用外部接入标准规范

关于蒙速办APP登陆认证功能政务服务平台登陆认证功能区别:

  • 1.一个是从APP里面获取登陆信息;另一个是从浏览器获取其他网站的登陆信息
  • 2.都是重定向到登陆认证页面,回调地址一个是通过参数传入;另一个是配置应用的时候配置的
  • 3.一个是返回code再通过code去请求用户信息;另一个是直接返回用户信息通过本地jar包解密用户信息
  • 4.一个是有开发者后台注册应用信息;另一个是需要联系对方技术人员进行注册
  • 5.一个是开发调试直接使用的公网域名可以调试;另一个是需要使用内网ip进行调试。

重定向的实现可以分为两种方法:

  • 1.前端重定向:window.location.href = url
  • 2.后端接口重定向:HttpServletResponse response response.sendRedirect(url);

一、政务服务平台网站端登录认证功原理整体分析:

政务登陆认证完整流程分析.png

二、第三方应用前端项目核心代码

mounted() {
    this.initZwProcess(); //登陆认证功能
}
methods: {
    initZwProcess() {
      let { token } = this.$route.query
      let { zwLogin } = this.$store.state
      if (token) {//token【这里说明是从登陆认证返回,保存授权认证标识state.zwLogin防止下次又进入授权认证页面】
        this.$store.commit("changeZwLogin", token)
        // alert("统一登陆成功!token:" + token)
      } else if(!zwLogin){//没有进行授权认证【这里说明不是登陆认证返回也没有进行授权认证=>就去走授权认证】
        this.toZwLogin()
      }
    },
    toZwLogin(){
      let url = "http://xxxx/account/zwfwLogin" //统一登陆接口
      window.location.href = url
    },
}

因为政务登陆认证调试需要使用政务的内网环境,这里使用的是本地调试方法

前端项目调试步骤:

  • 0.启动后台项目,生成本地回调接口地址
  • 1.联系政务开发人员注册应用(需要提供应用回调接口地址),会生成client_idclient_secret字符串
    • 应用回调接口可以写本地启的后台服务的接口地址
  • 2.使用vpn连接到政务内网环境
  • 3.启动前端项目,重定向到政务登陆认证页面。政务登陆认证逻辑处理,回调登陆信息到本地后台服务的接口
  • 4.本地后台服务接口将用户信息破解后拼接到参数重定向到前端。
  • 5.前端获取到登陆信息。【完成】

三、第三方应用后端项目示例

第三方应用后端项目这里暂不公开,需要代码的联系我。

政务开发1.png 这个后台项目包含两个模块,其中zwlogin模块对应的就是政务的登陆认证的后台功能。

主要作用就是提供接口供前端项目使用:

  • account/zwfwLogin:这个接口实现重定向到政务登陆认证页面(不用这个也可以,直接让前端重定向即可。)
  • account/zwfwUserinfo:这个接口实现登陆认证回调接口功能,获取到用户信息后进行解密,然后再携带token重定向到前端页面

需要注意的是:上面的token信息这一步还没有去实现。 正常应该是获取到政务登陆的用户信息后,后台再走一个自己的登陆将【token及其他登陆信息】返回到前端。