前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ZLT-MP v4.5.0 发布

ZLT-MP v4.5.0 发布

作者头像
陶陶技术笔记
发布2021-06-29 14:54:34
6990
发布2021-06-29 14:54:34
举报
文章被收录于专栏:陶陶技术笔记陶陶技术笔记

架构图

功能介绍

更新内容

特性/增强

  • 支持OIDC协议授权
  • 应用管理界面增加ID令牌相关的配置
  • 增加oidc协议单点登录样例工程oidc-sso
  • 增加zookeeper工具类zookeeperTemplate
  • 替换默认PasswordEncoder实现类为DelegatingPasswordEncoder
  • 修改文件中心默认依赖为s3
  • 升级spring-boot到2.3.11.RELEASE

问题修复

  • 修复token过期时访问网关返回500状态码

变更语句

Use `oauth-center`;
alter table oauth_client_details add support_id_token tinyint(1) DEFAULT 1 COMMENT '是否支持id_token';
alter table oauth_client_details add id_token_validity int(11) DEFAULT 60 COMMENT 'id_token有效期';

内容说明

一、支持OIDC协议授权

OIDC是 OpenID Connect 的简称,它在OAuth2上构建了一个身份层,是一个基于OAuth2协议的身份认证标准协议。

在使用 授权码模式 或者 简化模式 时,通过在参数 response_type 中增加 「id_token」 值即可,例子如下:

http://localhost:9900/api-uaa/oauth/authorize?client_id=zlt&redirect_uri=http://127.0.0.1&response_type=code id_token

「OIDC协议返回示例」

{
    "resp_code": 200,
    "resp_msg": "ok",
    "datas": {
        "access_token": "d1186597-aeb4-4214-b176-08ec09b1f1ed",
        "token_type": "bearer",
        "refresh_token": "37fd65d8-f017-4b5a-9975-22b3067fb30b",
        "expires_in": 3599,
        "id_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwOi8vemx0MjAwMC5jbiIsImlhdCI6MTYyMTY5NjU4MjYxNSwiZXhwIjoxNjIxNjk2NjQyNjE1LCJzdWIiOiIxIiwibmFtZSI6IueuoeeQhuWRmCIsImxvZ2luX25hbWUiOiJhZG1pbiIsInBpY3R1cmUiOiJodHRwOi8vcGtxdG1uMHAxLmJrdC5jbG91ZGRuLmNvbS_lpLTlg48ucG5nIiwiYXVkIjoiYXBwIiwibm9uY2UiOiJ0NDlicGcifQ.UhsJpHYMWRmny45K0CygXeaASFawqtP2-zgWPDnn0XiBJ6yeiNo5QAwerjf9NFP1YBxuobRUzzhkzRikWGwzramNG9na0NPi4yUQjPNZitX1JzlIA8XSq4LNsuPKO7hS1ALqqiAEHS3oUqKAsjuE-ygt0fN9iVj2LyL3-GFpql0UAFIHhew_J7yIpR14snSh3iLVTmSWNknGu2boDvyO5LWonnUjkNB3XSGD0ukI3UEEFXBJWyOD9rPqfTDOy0sTG_-9wjDEV0WbtJf4FyfO3hPu--bwtM_U0kxRbfLnOujFXyVUStiCKG45wg7iI4Du2lamPJoJCplwjHKWdPc6Zw"
    }
}

「id_token包含以下内容」

{
  "iss": "http://zlt2000.cn",
  "iat": 1621696582615,
  "exp": 1621696642615,
  "sub": "1",
  "name": "管理员",
  "login_name": "admin",
  "picture": "http://xxx/头像.png",
  "aud": "app",
  "nonce": "t49bpg"
}

二、应用管理界面增加ID令牌相关的配置

  • 「支持ID令牌」:为是则支持返回id_token
  • 「ID时效」:为配置id_token的有效时间

三、增加zookeeper工具类zookeeperTemplate

依赖:

<dependency>
    <groupId>com.zlt</groupId>
    <artifactId>zlt-zookeeper-spring-boot-starter</artifactId>
</dependency>

使用:

@Resource
private ZookeeperTemplate zkTemplate;

zkTemplate.createNode("/", "test");

四、替换默认PasswordEncoder实现类为DelegatingPasswordEncoder

用于同时兼容多种加密方式的密码数据同时存在时的密码校验。

修改旧的密码数据的值,添加前缀标识,支持以下三种格式:

  • 无前缀
//只支持使用bcrypt方式加密的密码
格式:密码

例如:$2a$10$EgTOU7PMe.3jaMwFsumdweJcnY3TsTqyuJEdSaSKxdgwYchAwUJ1C
  • 无盐值
格式:{encodingId}密码

例如:{bcrypt}$2a$10$EgTOU7PMe.3jaMwFsumdweJcnY3TsTqyuJEdSaSKxdgwYchAwUJ1C
  • 有盐值
格式:{encodingId}{salt}密码

例如:{MD5}{5Hstj}0758f7131c6c95c8e3df05e1ac50214c

五、升级zlt-register到2.0.1

zlt-register/nacos 替换为官方最新的 2.0.1 版本

内容与官网一致,只是方便大家直接使用

项目地址

Gitee地址:https://gitee.com/zlt2000/microservices-platform

Github地址:https://github.com/zlt2000/microservices-platform

项目文档

https://www.kancloud.cn/zlt2000/microservices-platform/919417

项目更新日志

https://www.kancloud.cn/zlt2000/microservices-platform/936235

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 陶陶技术笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 更新内容
    • 特性/增强
      • 问题修复
        • 变更语句
        • 内容说明
          • 一、支持OIDC协议授权
            • 二、应用管理界面增加ID令牌相关的配置
              • 三、增加zookeeper工具类zookeeperTemplate
                • 四、替换默认PasswordEncoder实现类为DelegatingPasswordEncoder
                  • 五、升级zlt-register到2.0.1
                  • 项目地址
                  • 项目文档
                  • 项目更新日志
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档