内容简介:JAP 1.0.2 正式发布 概要 jap-ids 1.0.2 支持多租户场景、支持动态 issuer、支持前后端分离的业务场景; jap-social 对外提供 refreshToken、revokeToken 和 getUserInfo 方法; 新增 Pipeline 模式,支持自定义部...
JAP 1.0.2 正式发布
概要
jap-ids
1.0.2 支持多租户场景、支持动态issuer
、支持前后端分离的业务场景;jap-social
对外提供refreshToken
、revokeToken
和getUserInfo
方法;- 新增
Pipeline
模式,支持自定义部分业务场景的流程,同时引入SPI
机制;- 基于 Github Action,JAP 正式启用快照版,比如:
1.0.2-SNAPSHOT
。(快照版实时更新,但不可用于生产环境)- 使用
jap-bom
管理项目版本依赖,使用flatten-maven-plugin
简化 pom 版本- JustAuth 和 JAP 项目已经加入 “开源软件供应链点亮计划 - 暑期2021”,欢迎各位在校学生踊跃参与!
JAP 1.0.2 版本更新内容
本次更新涉及到字段、方法返回类型的修改,请升级的时候注意。可以参照本文下方的更新说明进行修改、调整。
新功能/特性
jap-ids 模块
- 在
IdsConfig
中添加enableDynamicIssuer
属性,boolean
类型。当enableDynamicIssuer=true
时,开发者不再需要单独设置issuer
,jap-ids
将从当前请求的域名中自动提取issuer
。
此功能针对客户端支持
自定义域名
的业务场景。可以通过域名的标识(比如二级域名jap.justauth.plus
中的标识就是jap
)确定用户所属的客户端(也可以对应到租户)。
- 在
IdsConfig
中添加loginPageUrl
属性,loginPageUrl
与loginUrl
的区别:
loginPageUrl
:登录表单页面 URL,关键字:页面。loginUrl
:登录的api URL,关键字:API。
- 在
IdsConfig
中添加externalLoginPageUrl
属性,boolean
类型。
如果授权服务未提供登录页面(登录页面由其他服务托管,比如登录页面在单独的静态服务中部署),则需要启用此配置。
- 在
IdsConfig
中添加externalConfirmPageUrl
属性,boolean
类型。
如果授权服务未提供授权确认页面(授权确认页面由其他服务托管,比如授权确认页面在单独的静态服务中部署),则需要启用此配置。
- 在
IdsConfig
中添加authorizeAutoApproveUrl
属性。
当授权 URL 中包含
autoapprove=true
时,授权服务器在用户登录完成后,不会跳转到confirmPageUrl
,而是直接跳转到authorizeAutoApproveUrl
。
- 添加
IdsUserStoreService
接口类,以支持登录后对用户数据的自定义操作,默认为Session
存储用户信息。感谢微信用户(antscqy)的建议。 - 添加
IdsPipeline
接口,开发人员可以自定义流程,目前仅支持自定义IdsxxFilter
(过滤器)和LoginEndpoint
的流程。 - 添加
spi
插件机制,jap-ids
对外提供的接口,都可以以spi
的形式实现。 - 添加以下内置 scope:
profile
,address
,read
andwrite
。 - 在
OauthUtil#createAuthorizeUrl(String, IdsRequestParam)
中添加uid
参数(可选的参数)。
jap-social 模块
SocialStrategy
对外提供refreshToken
、revokeToken
和getUserInfo
方法。感谢群友的反馈。
修改
POM 依赖
- 将
javax.servlet-api
依赖替换为jakarta.servlet-api
。
jap-ids 模块
- 将
IdsConfig.confirmUrl
参数名称修改为confirmPageUrl
。 - 将
ApprovalEndpoint#getAuthClientInfo(HttpServletRequest)
的返回类型修改为IdsResponse<String, Map<String, Object>>
。 - 将
Ap provalEndpoint#authorize(HttpServletRequest)
的返回类型修改为IdsResponse<String, String>
。 - 将
AuthorizationEndpoint#agree(HttpServletRequest)
的返回类型修改为IdsResponse<String, String>
。 - 将
LoginEndpoint#signin(HttpServletRequest)
的返回类型修改为IdsResponse<String, String>
。 - 将
LogoutEndpoint#logout(HttpServletRequest)
的返回类型修改为IdsResponse<String, String>
。 - 修改
ClientDetail
类的注释。 - 将
IdsResponse#getData()
方法的返回类型修改为泛型。 - 删除
IdsScopeProvider#initScopes(List<IdsScope>)
方法,不再允许重置系统内置的 scope,新版jap-ids
支持添加新的scope
以及 修改内置的scope
描述。 - 当
response_type=id_token
时,id_token
中将返回用户的基本信息(依据scope
授权范围)。 - 优化
UserInfoEndpoint#getCurrentUserInfo(HttpServletRequest)
方法的业务流程,对于用户的特定属性,比如手机号、邮箱等,按照提供的scope
决定是否返回。 - 修改
IdsUserService
接口的loginByUsernameAndPassword
和getByName
方法,分别新增了clientId
入参。
针对多租户场景下,同一个用户可能存在多个租户主体下,单纯依靠用户账密已经无法唯一确定一个用户,这种情况下业务系统可以根据
clientId
获取具体的租户下的用户信息。
PR
关于 JAP
JAP 是什么?
JAP 是一款开源的登录认证中间件,基于模块化设计,为所有需要登录认证的 WEB 应用提供一套标准的技术解决方案,开发者可以基于 JAP 适配绝大多数的 WEB 系统(自有系统、联邦协议)。
JAP 有哪些功能?
JAP 有什么优势?
- 易用性:JAP 的 API 沿袭 JustAuth 的简单性,做到了开箱即用的程度。JAP 高度抽象各种登录场景,提供了多套简单使用的 API,极大程度的降低了开发者的学习成本和使用成本
- 全面性:JAP 全量适配 JustAuth 支持的第三方平台,实现第三方登录。同时也支持所有基于标准OAuth2.0 协议或者 OIDC 协议或者 SAML 协议的应用、系统,同时 JAP 还提供不同语言版本的项目 SDK,适配多种研发场景
- 模块化:JAP 基于模块化设计开发,针对每一种登录场景,比如账号密码、OAuth、OIDC等,都单独提供了独有的模块化解决方案
- 标准化:JAP 和业务完全解耦,将登录认证相关的逻辑抽象出一套标准的技术解决方案,针对每一种业务场景,比如用户登录、验证密码、创建并绑定第三方系统的账号等,都提供了一套标准的策略或者接口,开发者可以基于 JAP,灵活并方便的完成相关业务逻辑的开发和适配
- 通用性:JAP 不仅可以用到第三方登录、OAuth授权、OIDC认证等业务场景,还能适配开发者现有的业务系统的普通账号密码的登录场景,基本将所有登录相关的业务场景都已经涵盖。针对 WEB 应用,JAP 将提供满足各种不同登录场景的解决方案(和开发语言无关)
JAP 适用于哪些场景?
JAP 适用于所有需要登录认证功能的场景。比如:
-
要求规范:新项目立项,你们需要研发一套包含登录、认证的系统,并且从长远方面考虑,你们需要一套标准的、灵活的、功能全面的登录认证功能。
-
需求灵活:现有登录模块为自研,但是新一轮的技术规划中,你们想将登录认证模块重构,以更加灵活的架构适应后面的新需求,比如:集成 MFA 登录、集成 OAuth 登录、SAML登录等。
-
力求省事:你们的项目太多(或者是开发语言较多,比如:Java、 Python 、Node 等),每个项目都需要登录认证模块,想解决这种重复劳动的问题,使研发人员有更多的时间和精力投入到业务开发中,提高研发产能和研发效率。
关于 JAP 的更多内容,可以参考《JAP 产品技术白皮书》
相关链接
- Gitee:https://gitee.com/fujieid/jap
- Github:https://github.com/fujieid/jap
- CodeChina:https://codechina.csdn.net/fujieid/jap
- 开发者文档:https://justauth.plus
以上所述就是小编给大家介绍的《JAP 1.0.2 正式发布,jap-ids 支持多租户、适配前后端分离、自定义授权流程等新特性》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- OrangeAdmin 橙单中台化低代码生成器发布 v1.4 版本,支持多租户及租户运营管理功能
- Cloudant 多租户服务最佳实践
- Cloudant 多租户服务最佳实践
- 多租户已死!云架构上位
- 一文读懂HBase多租户
- [译] Kubernetes 多租户集群的实践
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Building Websites with Joomla!
H Graf / Packt Publishing / 2006-01-20 / USD 44.99
This book is a fast paced tutorial to creating a website using Joomla!. If you've never used Joomla!, or even any web content management system before, then this book will walk you through each step i......一起来看看 《Building Websites with Joomla!》 这本书的介绍吧!
JS 压缩/解压工具
在线压缩/解压 JS 代码
图片转BASE64编码
在线图片转Base64编码工具