JAP 1.0.1 以及 《JAP产品技术白皮书》正式发布

快讯
- JAP 1.0.1 正式发布
- 《JAP产品技术白皮书》正式发布。立即获取:白皮书
JAP 1.0.1 版本内容
新增功能/支持
- 添加
com.fujieid.jap.core.util.RequestUtil - 完成
jap-ids模块
jap-ids是基于 RFC6749、RFC7636、RFC7033等标准协议和 OpenID Connect Core 1.0 认证协议,实现的一款轻量级、业务解耦、开箱即用的新一代国产授权认证框架。
此处附上我精心绘制的jap-ids 业务流程图:

jap-ids 目前已支持以下功能:
- 授权码模式(Authorization Code Grant)
- 授权码-PKCE模式(Proof Key for Code Exchange)
- 隐式授权模式(Implicit Grant)
- 密码授权模式(Resource Owner Password Credentials Grant)
- 客户端授权模式(Client Credentials Grant)
- 刷新 access_token
- 回收 access_token
- 获取当前授权用户的基本信息
- 校验登录状态
- 异常响应
- 退出登录
- 服务发现(OpenID Connect Discovery)
- JWK 端点(JWKS)
- JWK 令牌颁发
- 自定义 JWT 加解密证书
- 全场景 response type 支持(
code、token、id_token、id_token token、code id_token、code token、code id_token token)- 等
关于 jap-ids 的更多使用详情,请参考示例项目:jap-ids-demo,或者查阅文档:IDS OAuth 2.0 服务端
代码修改/优化
- [jap-oidc] 优化
OidcStrategy#authenticate方法,缓存OidcDiscoveryDto,减少不必要的 http 请求 - [jap-oidc] 优化
OidcUtil工具类的代码,解决一些已知问题 - [jap-social] 解决一些已知问题
- 重构
com.fujieid.jap.core.cache.JapLocalCache,实现定时器,定期清理本地缓存
合并 PR
Issue
- 解决 Gitee Issue #I3DC7N
JAP 产品技术白皮书
经过两个月的整理、修改、迭代,我们 JAP 的技术白皮书,终于完成了!

在 “JAP 社区交流群”中,不少朋友都期待着《JAP 产品技术白皮书》的发布。
前期我们也做过一些调研,大部分开发者/用户的述求基本上是:JAP 文档中有太多专有技术名词,理解起来比较困难。针对此,我们在白皮书中对于 JAP 相关领域的概念、名词做了专门解释,能够帮助开发者/用户更深入的了解、使用相关技术。
同时,在此份白皮书中,我们对 JAP 的功能、特点、架构、流程等都做了全面的、详细的解释,部分内容如下:


希望这份白皮书,能够帮助到各位开发者/用户。
关于 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 产品技术白皮书》
相关链接
欢迎关注、欢迎收藏、欢迎 star。
JAP 1.0.1 以及 《JAP产品技术白皮书》正式发布的更多相关文章
- 达梦产品技术支持培训-day7-DM8数据库备份与还原-原理
(本文部分内容摘自DM产品技术支持培训文档,如需要更详细的文档,请查询官方操作手册,谢谢) 1.DM8备份还原简介 1.1.基本概念 (1)表空间与数据文件 ▷ DM8表空间类型: ▷ SYSTEM ...
- 测试架构图 High Level 产品技术(无事来更新,证明这个博客还是Live的)
一个完整的产品测试所需要掌握的产品技术架构. 1.最底层硬件平台(服务器与存储) 对于一个大型商业解决方案来说,性能与可靠性是非常重要的要求,那么服务器与存储就是专门来满足需求的. 服务器: 服务器端 ...
- 2014Esri全球用户大会——亮点系列之产品技术
2014年Esri全球用户大会已于7月14日~18日隆重召开,让我们一起来回味下面精彩内容: 序:大会主题"Creating Our Future" [解读]: 传达两个核 ...
- http://stblog.baidu-tech.com/?p=1684) coredump调试记录 - PHP篇 原创: 扶墙 贝壳产品技术 今天
http://stblog.baidu-tech.com/?p=1684) coredump调试记录 - PHP篇 原创: 扶墙 贝壳产品技术 今天
- MySQL实时监听——EPX 原创: 奕X 贝壳产品技术 今天
MySQL实时监听——EPX 原创: 奕X 贝壳产品技术 今天
- [华三] IPv6技术白皮书(V1.00)
IPv6技术白皮书(V1.00) http://www.h3c.com/cn/d_200802/605649_30003_0.htm H3C S7500E IPv6技术白皮书 关键词:IPv6,隧道 ...
- SSL技术白皮书
首页产品技术操作系统ComwareV5安全和VPN SSL技术白皮书 下载 收藏 打印 推荐 摘自:http://www.h3c.com/cn/d_200812/622834_30003_0.htm# ...
- URPF技术白皮书
URPF技术白皮书 摘 要:本文介绍了URPF的应用背景,URPF主要用于防止基于源地址欺骗的网络攻击行为,例如基于源地址欺骗的DoS攻击和DDoS攻击:随后介绍了URPF的技术原理以及URPF ...
- Isolate-user-vlan技术白皮书
http://www.h3c.com.cn/Products___Technology/Technology/LAN/Other_technology/Technology_book/200804/6 ...
随机推荐
- Dapr 知多少 | 分布式应用运行时
Intro Dapr 官方团队已于最近(2021.1.17)正式发布Dapr v1.0,Dapr已正式生产可用,可以部署到自托管环境或 Kubernetes 集群.对于绝大多数开发者来说,想必对Dap ...
- 26_ mysql数据操作语言:DELETE语句
-- DELETE语句 -- 删除10部门中,工龄超过20年的员工记录 DELETE FROM t_emp WHERE deptno=10 AND DATEDIFF(NOW(),hiredate)/3 ...
- day1 分布式基础概念
1. 分布式:一个业务分拆多个子业务,部署在不同的服务器上集群:同一个业务,部署在多个服务器上节点:集群中的一个服务器 2.远程调用 分布式系统中调用其它主机 springcloud用http+jso ...
- 第44天学习打卡(JUC 线程和进程 并发和并行 Lock锁 生产者和消费者问题 如何判断锁(8锁问题) 集合类不安全)
什么是JUC 1.java.util工具包 包 分类 业务:普通的线程代码 Thread Runnable 没有返回值.效率相比Callable相对较低 2.线程和进程 进程:一个程序.QQ.exe, ...
- macOS下Chrome和Safari导入证实抓包HTTPS
目录 下载证书 mac OS导入证书 Chrome设置代理 Safari设置代理 下面的操作基于Mac OS Catalina(v10.15.3),抓包拦截工具基于Burp Suite v2.1.05 ...
- Mac忘记密码
1.启动电脑的时候,按住 Command+R,直到苹果的图标出现,松开,等待进入... 2.直接点击菜单栏上有个功能里面有 "终端" 功能,点击打开. 3.在终端页面里输入---& ...
- 【HTB系列】Beep
出品|MS08067实验室(www.ms08067.com) 这次挑战的是 HTB 的第5台靶机:Beep,评分很高,难度中等 靶机描述 Beep 运行了大量的服务,这对正确发掘入口点有一定的挑战,由 ...
- CCF(地铁修建):向前星+dijikstra+求a到b所有路径中最长边中的最小值
地铁修建 201703-4 这题就是最短路的一种变形,不是求两点之间的最短路,而是求所有路径中的最长边的最小值. 这里还是使用d数组,但是定义不同了,这里的d[i]就是表示从起点到i的路径中最长边中的 ...
- Java数据类型拓展
public class Demo03 { public static void main(String[] args) { //整数拓展: 二进制0b 十进制 八进制0 十六进制0x int i = ...
- 我给Apache顶级项目贡献了点源码。
这是why技术的第 91 篇原创文章 这篇文章其实并没有什么技术性的分享,从我的角度而言,更多是记录和思考. 把我对于源码和之前写的部分文章反哺给我的一些东西,带来的一点点思考分享给大家. 一行源码 ...