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 ...
随机推荐
- .Net Core 3.1浏览器后端服务(三) Swagger引入与应用
一.前言 前后端分离的软件开发方式已逐步成为互联网项目开发的业界标准,前后端分离带来了诸多好处的同时,也带来了一些弊端. 接口文档的维护就是其中之一,起初前后端约定文档规范,开发的很愉快,随着时间推移 ...
- CentOS7安装Mysql并配置远程访问
(su root登录到root账户) 下载repo源 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 安装rpm ...
- DatePicker日期选择器的使用
效果展示: 代码如下: <el-date-picker v-model="listQuery.times" type="daterange" range- ...
- 基于docker搭建gitlab
一.概述 GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. 它拥有与Github类似的功能,能够浏览 ...
- pytorch(01)环境配置及安装
pytorch pytorch定位:深度学习框架 人工智能:多领域交叉科学技术 机器学习:计算机智能决策算法 深度学习:高效的机器学习算法 pytorch实现模型训练需要5个模块 数据 将数据从硬盘读 ...
- 洛谷P3285 [SCOI2014]方伯伯的OJ 动态开点平衡树
洛谷P3285 [SCOI2014]方伯伯的OJ 动态开点平衡树 题目描述 方伯伯正在做他的 \(Oj\) .现在他在处理 \(Oj\) 上的用户排名问题. \(Oj\) 上注册了 \(n\) 个用户 ...
- OSI协议简述版
OSI简介 OSI只是计算机网络中的一种协议名称缩写,它只是电脑间传输数据的协议,并不代表具体的物理设备,并且这种协议,只是被人为的划分为五层:物理层.数据链路层.网络层.传输层.应用层.记住,它只是 ...
- JAVA_标识符、数据类型、变量
标识符和关键字 所有的标识符否应该以字母a ~ z和 A ~Z ,美元符($).下划线(_)开始. 首字符之后可以是字母a ~ z和 A ~Z ,美元符($).下划线(_)的任意字符组合. 注 ...
- ElasticSearch 进阶
目录 ElasticSearch 进阶 SearchAPI 检索信息 Query DSL 基本语法格式 查询-match 查询-match_phrase 查询-multi_match 查询-bool复 ...
- @WebFilter("")配置servlet访问出现404的原因
配置 servlet 一共有两种方式 直接在web.xml中配置name 和 url-parttern 使用注解配置servlet 使用注解的方式配置servlet是在servlet3.0之后新增的特 ...