JA Plus 开发者文档 JA Plus 开发者文档
首页
📖 白皮书 (opens new window)
  • 名词解释
  • 快速开始

    • 使用jap-simple
    • 使用jap-social
    • 使用jap-oauth2
    • 使用jap-oidc
    • 使用jap-sso
    • 使用jap-mfa
    • 使用jap-http-api
    • 使用jap-ldap
    • 错误代码
  • IDS

    • 简介
    • 快速开始
    • 自定义scope
    • 自定义登录页面
    • 自定义确认授权页面
    • 自定义缓存
    • 自定义Token加密密钥
    • 使用PKCE模式
    • 自动授权
    • 错误代码
  • starter

    • jap-spring-boot-starter
    • jap-simple-spring-boot-starter
    • jap-social-spring-boot-starter
    • jap-oauth2-spring-boot-starter
    • jap-oidc-spring-boot-starter
  • jap-ids的demo
  • 前后端分离架构中使用JAP
  • SpringBoot中使用JAP
  • 问题反馈
  • 项目问题
  • 异常问题
  • 功能问题
  • 数据看板🔥
  • 贡献指南
  • 行为准则
  • 用户权益
  • 贡献者们
  • 社区配套 (opens new window)
  • 教程
  • 投稿
  • 资讯
  • 关于
  • 友情链接
  • 捐赠列表
  • 其他开源
  • 更新记录
收藏
GitHub (opens new window)

FuJie Team

以开源的形式赋能开发者. Just auth into any app.
首页
📖 白皮书 (opens new window)
  • 名词解释
  • 快速开始

    • 使用jap-simple
    • 使用jap-social
    • 使用jap-oauth2
    • 使用jap-oidc
    • 使用jap-sso
    • 使用jap-mfa
    • 使用jap-http-api
    • 使用jap-ldap
    • 错误代码
  • IDS

    • 简介
    • 快速开始
    • 自定义scope
    • 自定义登录页面
    • 自定义确认授权页面
    • 自定义缓存
    • 自定义Token加密密钥
    • 使用PKCE模式
    • 自动授权
    • 错误代码
  • starter

    • jap-spring-boot-starter
    • jap-simple-spring-boot-starter
    • jap-social-spring-boot-starter
    • jap-oauth2-spring-boot-starter
    • jap-oidc-spring-boot-starter
  • jap-ids的demo
  • 前后端分离架构中使用JAP
  • SpringBoot中使用JAP
  • 问题反馈
  • 项目问题
  • 异常问题
  • 功能问题
  • 数据看板🔥
  • 贡献指南
  • 行为准则
  • 用户权益
  • 贡献者们
  • 社区配套 (opens new window)
  • 教程
  • 投稿
  • 资讯
  • 关于
  • 友情链接
  • 捐赠列表
  • 其他开源
  • 更新记录
收藏
GitHub (opens new window)
  • 教程

  • 投稿

  • 资讯

    • 博客资讯栏目说明
    • 软件更新资讯

      • JAP v1.0.5 发布,支持 Basic、Digest 和 Bearer 认证方式
        • 1. JAP 发布 1.0.5
          • 1.1 增加 jap-http-api 模块 @Mvbbb
          • 1.2 增加 jap-ids-web 模块
          • 1.3 解耦 jakarta servlet
          • 1.4 jap-social 支持绑定用户
          • 1.5 规范 jap-ids 中的 scope
          • 1.6 依赖升级
        • 2. 重构 JAP 文档站
        • 3. 增加 starter @Vector6662
    • 综合资讯

  • 博客
  • 资讯
  • 软件更新资讯
FuJie Team
2021-09-26

JAP v1.0.5 发布,支持 Basic、Digest 和 Bearer 认证方式

快讯

  1. JAP 发布 1.0.5
  2. 重构 JAP 文档站
  3. 增加 starter

# 1. JAP 发布 1.0.5

# 1.1 增加 jap-http-api 模块 @Mvbbb (opens new window)

自 1.0.5 版本开始,JAP 中增加 jap-http-api 模块,支持 Basic、Digest 和 Bearer 的认证方式。 (Gitee Issue #I43ZS7 (opens new window))

更多使用说明,请参考使用jap-http-api

# 1.2 增加 jap-ids-web 模块

自 1.0.5 版本开始,将原本 jap-ids 中的过滤器单独提了出来作为一个独立的组件。

开发者在使用 jap-ids 时,如果需要用到 jap 提供的过滤器,可以单独引入该依赖,否则的话,开发者可以自主开发相关过滤器。

<dependency>
    <groupId>com.fujieid</groupId>
    <artifactId>jap-ids</artifactId>
    <version>{latest-version}</version>
</dependency>
<!-- 开发者如果需要使用 jap 提供的过滤器,则引入下方依赖 -->
<dependency>
    <groupId>com.fujieid</groupId>
    <artifactId>jap-ids-web</artifactId>
    <version>{latest-version}</version>
</dependency>
1
2
3
4
5
6
7
8
9
10
11

# 1.3 解耦 jakarta servlet

在 1.0.5 以前版本,jap 中依赖 jakarta-servlet 中 javax.servlet.http 包下的 HttpServletRequest、Cookie、HttpServletResponse 、HttpSession,比如:

// jap 提供的接口
public interface JapStrategy {
  default JapResponse authenticate(AuthenticateConfig config, HttpServletRequest request, HttpServletResponse response) {
    return null;
  }
}
1
2
3
4
5
6
// 在spring框架中使用 jap
XxJapStrategy.authenticate(config,request,response);
1
2

为了提高框架适配性,自 1.0.5 版本开始,JAP 去掉了 jakarta-servlet 依赖,采用了一套全新的接口(参考:jap-http (opens new window)),开发者在调用 JAP 接口时需要对原 request 进行适配。

比如,开发者使用了 jakarta-servlet,那么需要对 HttpServletRequest 进行适配处理:

// 在spring框架中使用 1.0.5 或更高级版本的 jap
XxJapStrategy.authenticate(config,new JakartaRequestAdapter(request),new JakartaResponseAdapter(response));
1
2

从 1.0.5 版本开始,JAP 内置了以下两个依赖:

<dependency>
    <groupId>com.fujieid.jap.http</groupId>
    <artifactId>jap-http</artifactId>
    <version>1.0.0</version>
</dependency>
<dependency>
    <groupId>com.fujieid.jap.http.adapter</groupId>
    <artifactId>jap-http-jakarta-adapter</artifactId>
    <version>1.0.2</version>
</dependency>
1
2
3
4
5
6
7
8
9
10

更多适配说明,请参考 jap-http-adapter (opens new window)

# 1.4 jap-social 支持绑定用户

jap-social 支持绑定第三方平台账号,该版本将社会化登录和绑定账号独立开来,以使其更加适用于多场景。 (Gitee Issue #I46J6W (opens new window))

登录伪代码:

SocialConfig config = new SocialConfig()
        .setPlatform("gitee")
        .setState(UuidUtils.getUUID())
        .setJustAuthConfig(AuthConfig.builder().build());
// 发起认证请求
socialStrategy.authenticate(config, request, response);
1
2
3
4
5
6

绑定伪代码:

SocialConfig config = new SocialConfig()
        .setPlatform("gitee")
        .setState(UuidUtils.getUUID())
        // 注明当前流程为绑定用户的请求
        .setBindUser(true)
        // 待绑定的用户ID
        .setBindUserId("xxx")
        .setJustAuthConfig(AuthConfig.builder().build());
// 发起绑定请求
socialStrategy.bind(config, request, response);
1
2
3
4
5
6
7
8
9
10

# 1.5 规范 jap-ids 中的 scope

遵循 RFC6749 规范,jap-ids 中的 scope 在各个流程中都更改为可选。

# 1.6 依赖升级

  • kisso 的版本为 3.7.7, 解决 jackson 的漏洞。
  • googleauth 的版本为 1.5.0, 解决 apache httpclient 的漏洞。
  • simple-http 的版本为 1.0.5.
  • JustAuth 的版本为 1.16.4.

# 2. 重构 JAP 文档站

提示

替换文档站主题 https://justauth.plus (opens new window),解决文档站内存暴涨的问题。(Gitee Issue #I4958H (opens new window) | Github Issue #8 (opens new window))

在之前的版本中,因第三方框架的问题,导致 JAP 的文档站 https://justauth.plus (opens new window) 极易引起内存泄漏的问题,因此,对整个文档站做了一次整体重构升级。

新版文档站中,对整个目录、布局和内容都做了大幅度的提升、优化,如果开发者在使用过程中遇到问题,可以直接在评论区评论。

新版文档站的主题使用:vuepress-theme-vdoing (opens new window)

# 3. 增加 starter @Vector6662 (opens new window)

注意

该项目暂未发布到 maven 中央仓库,如果需要,请 clone 后本地 install 测试。

为 JAP 开发其 spring boot starter,包括以下六个模块:

  • 开发 jap 提供的四种授权策略的对应的 spring boot starter 模块,并将它们插件化,实现按需引入。也就是说,你的web应用若需要相应模块,才添加对应的maven坐标:
    • jap-simple-spring-boot-starter
    • jap-oauth2-spring-boot-starter
    • jap-social-spring-boot-starter
    • jap-oidc-spring-boot-starter
  • jap-spring-boot-starter:提供一个对四种授权策略高度封装的类:JapTemplate

关于 jap-spring-boot-starter 项目的设计思路,请参考: 项目经验分享:开发 JuatAuth Plus 的 springboot starter 依赖包

更多使用方式,请参考:jap-spring-boot-starter 使用帮助

编辑 (opens new window)
Last Updated: 2021/10/06, 20:44:15
博客资讯栏目说明

← 博客资讯栏目说明

最近更新
01
经验总结:关于为 JAP 开发不同语言的 Demo 的总结
11-02
02
jap-spring-boot-starter 使用帮助
10-28
03
使用jap-ldap
10-25
更多文章>
Theme by Vdoing | Copyright © 2021-2022

友情链接:UniAdmin | 江如意的博客

Copyright © 2021-2040 FUJIE. All rights reserved. 北京符节科技有限公司版权所有 | 京ICP备2020044519号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式