zlt-mp v4.5.0 发布,基于 Spring Cloud Alibaba 的微服务平台
功能介绍 更新内容 特性/增强 支持OIDC协议授权 应用管理界面增加ID令牌相关的配置 增加oidc协议单点登录样例工程oidc-sso 增加zookeeper工具类zookeeperTemplate 替换默认PasswordEncoder实现类为DelegatingPasswordEncoder 修改文件中心默认依赖为s3 升级spring-boot到2.3.11.RELEASE 问题修复 修复token过期时访问网关返回500状态码 变更语句 Use`oauth-center`; altertableoauth_client_detailsaddsupport_id_tokentinyint(1)DEFAULT1COMMENT'是否支持id_token'; altertableoauth_client_detailsaddid_token_validityint(11)DEFAULT60COMMENT'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=codeid_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 privateZookeeperTemplatezkTemplate; 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/93623