JAP 1.0.1 以及 《JAP產品技術白皮書》正式釋出

HandsomeBoy丶發表於2021-04-21

 

在這裡插入圖片描述

快訊

  1. JAP 1.0.1 正式釋出
  2. 《JAP產品技術白皮書》正式釋出。立即獲取:白皮書

JAP 1.0.1 版本內容

新增功能/支援

  • 新增 com.fujieid.jap.core.util.RequestUtil
  • 完成jap-ids模組

jap-ids 是基於 RFC6749RFC7636RFC7033等標準協議和 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 支援(codetokenid_tokenid_token tokencode id_tokencode tokencode 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

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。

相關文章