JAP v1.0.1-alpha 發(fā)布,適配前后端分離的項目
JAP(JustAuthPlus) v1.0.1-alpha 版本已于2021年03月05日發(fā)布。

本版本為預(yù)覽版本,如果遇到問題,請通過 Issue 告知:
?https://gitee.com/fujieid/jap/issues?https://github.com/fujieid/jap/issues
jap-core
新功能
?增加?JapErrorCode?枚舉類,限定異常碼和提示?增加?JapResponse?類,規(guī)范接口返回內(nèi)容?增加?JapTokenHelper?類,統(tǒng)一管理用戶的Token?增加?JapContext?類,維護(hù) JAP 上下文信息?增加?JapAuthentication?類,統(tǒng)一管理登錄狀態(tài)信息以及 JAP 上下文信息
修改
修改包結(jié)構(gòu)
?將?AuthenticateConfig,JapConfig?移到?com.fujieid.jap.core.config?包中?將?JapUtil?移到?com.fujieid.jap.core.util?包中
刪除文件
?刪除?JapCacheContextHolder
修改代碼
?重構(gòu)?AbstractJapStrategy,引入上下文?JapContext?和?JapAuthentication?類?重構(gòu)?JapConfig?類,僅保留?sso?和?ssoConfig?屬性,同時增加?tokenExpireTime?和?cacheExpireTime?參數(shù)?修改?JapCacheConfig?中的緩存默認(rèn)有效期為7天?修改?JapUserService?接口類中的默認(rèn)內(nèi)容?在JapCache?中添加?void removeKey(String key)?方法?在?JapException?中增加?errorCode?和?errorMessage?屬性,方便將異常信息處理為統(tǒng)一格式的返回數(shù)據(jù)?在?JapStrategy?接口中?authenticate?方法的返回類型修改為?JapResponse,所有模塊的策略方法都返回統(tǒng)一格式的數(shù)據(jù)?在?JapUser?中增加?token?屬性,登錄完成后將自動返回 JAP Token?在?JapUtil?類中為?redirect?方法打上?@Deprecated?標(biāo)記,未來可能刪除。同時增加?createToken?方法
jap-oauth2
?修改?Oauth2Strategy?的?authenticate?方法,統(tǒng)一返回?JapResponse
jap-oidc
?修改?OidcStrategy?的?authenticate?方法,統(tǒng)一返回?JapResponse
jap-simple
?修改?SimpleStrategy?的?authenticate?方法,統(tǒng)一返回?JapResponse
jap-social
?修改?SocialStrategy?的?authenticate?方法,統(tǒng)一返回?JapResponse
jap-sso
?修改?JapSsoHelper#login?方法的返回值為當(dāng)前用戶的 JAP Token?新增?JapSsoUtil?類,處理 Token?JapSsoConfig?類中,刪除?loginUrl?和?logoutUrl?屬性
Other
?增加一些單元測試
可選 Demo
?普通示例項目:jap-demo[1]?前后端分離項目示例:jap-demo-vue[2]
JAP 是什么?
JAP 是一款開源的登錄中間件,基于模塊化設(shè)計,并且與業(yè)務(wù)高度解耦,使用起來非常靈活,開發(fā)者可以毫不費力地將 JAP 集成到任何 web 應(yīng)用程序中,就像集成 JA 一樣,簡單方便。
JAP 要做的是為所有需要登錄認(rèn)證的應(yīng)用提供一套標(biāo)準(zhǔn)的解決方案,集成所有 APP。方便開發(fā)者無縫對接任何第三方應(yīng)用或者自有系統(tǒng)。
?JAP 口號:Just auth into any app!?JAP 目標(biāo):讓身份鏈接無處可藏?JAP 價值:方便開發(fā)者無縫對接任何第三方應(yīng)用或者自有系統(tǒng),提高開發(fā)效率,減少代碼維護(hù)成本?JAP 愿景:以開源的方式,受惠于開源社區(qū),賦能于開發(fā)者。使之成為開發(fā)者生態(tài)內(nèi)必不可少的“基礎(chǔ)設(shè)施”,以期形成新的技術(shù)標(biāo)準(zhǔn)。
致開發(fā)者:我們要讓開發(fā)者可以基于 JAP 開發(fā)出自己的 IAM 或者 IDaaS 系統(tǒng)。
JAP 有什么特點?
?單點登錄:一處登錄,處處通行?開箱即用:API 設(shè)計趨近于白話,類似并參考 JustAuth?多平臺:?國內(nèi)外數(shù)十家第三方平臺(基于 JustAuth)?OAuth(OIDC) 協(xié)議的平臺,內(nèi)置國內(nèi)外常見平臺?SAML 協(xié)議的平臺,內(nèi)置國內(nèi)外常見平臺?業(yè)務(wù)解耦:JAP 不深入具體的業(yè)務(wù),只將授權(quán)認(rèn)證方面的功能抽象出一套標(biāo)準(zhǔn)的組件,方便任意系統(tǒng)快速對接?模塊化:JAP 基于模塊開發(fā),基本做到,用哪種引哪種?統(tǒng)一標(biāo)準(zhǔn):一切內(nèi)置實現(xiàn)或者自定義的實現(xiàn),都基于標(biāo)準(zhǔn)的策略?多語言支持:Java、Python、Go、Node等
適用于哪些場景?
?新項目立項,你們需要研發(fā)一套獨立的、統(tǒng)一的、包含登錄、認(rèn)證的系統(tǒng)?現(xiàn)有登錄模塊為自研,但是新一輪的技術(shù)規(guī)劃中,你們想將登錄認(rèn)證模塊重構(gòu),以更加靈活的架構(gòu)適應(yīng)后面的新需求,比如:集成 MFA 登錄、集成 OAuth 登錄等?你們的項目太多,每個項目都需要登錄認(rèn)證模塊,想解決這種重復(fù)勞動的問題?從長遠(yuǎn)方面考慮,公司或組織或個人需要一套標(biāo)準(zhǔn)的、靈活的、功能全面的登錄認(rèn)證功能?你們不想將研發(fā)成本放到登錄認(rèn)證這種必須但想做完善又需要花費大量時間成本、人力成本的事情上,希望有一個中間件可以完美集成登錄認(rèn)證功能,使研發(fā)人員有更多的時間和精力投入到業(yè)務(wù)開發(fā)中,提高研發(fā)產(chǎn)能和研發(fā)效率?你們除了需要對接標(biāo)準(zhǔn)的身份提供商外,還有一些非標(biāo)準(zhǔn)的身份提供商,需要投入研發(fā)人員單獨定制開發(fā)?你們企業(yè)中用到的開發(fā)語言較多,比如:Java、Python、Node等,每種語言對應(yīng)的系統(tǒng),都要使用不同語言實現(xiàn)相同的登錄認(rèn)證功能?你們需要研發(fā)一個支持 OAuth 登錄的 Web 應(yīng)用程序?你們想讓自己的系統(tǒng)支持對外提供 OAuth 服務(wù)?你們需要研發(fā)一個支持 SAML 登錄的 Web 應(yīng)用程序,但又苦于 SAML 那龐大而繁瑣的業(yè)務(wù)流程和配置?你們想研發(fā)一個支持 LDAP 登錄的程序,但又不知道如何入手?...
目前實現(xiàn)的功能
?實現(xiàn)賬號密碼登錄[3]?實現(xiàn)第三方社交帳號登錄[4]?實現(xiàn)標(biāo)準(zhǔn)的 OAuth 2.0 應(yīng)用的授權(quán)碼登錄[5]?實現(xiàn) OIDC 應(yīng)用的登錄[6]?支持同源 domain 的單點登錄[7]
感恩有你,歡迎加入 JAP 開發(fā)者組織[8]
JAP 開源地址
?github: https://github.com/fujieid/jap?gitee: https://gitee.com/fujieid/jap
引用鏈接
[1]?jap-demo:?https://gitee.com/fujieid/jap-demo[2]?jap-demo-vue:?https://gitee.com/fujieid/jap-demo-vue[3]?實現(xiàn)賬號密碼登錄:?https://justauth.plusquickstart/jap-simple.html[4]?實現(xiàn)第三方社交帳號登錄:?https://justauth.plusquickstart/jap-social.html[5]?實現(xiàn)標(biāo)準(zhǔn)的 OAuth 2.0 應(yīng)用的授權(quán)碼登錄:?https://justauth.plusquickstart/jap-oauth2.html[6]?實現(xiàn) OIDC 應(yīng)用的登錄:?https://justauth.plusquickstart/jap-oidc.html[7]?支持同源 domain 的單點登錄:?https://justauth.plusquickstart/jap-sso.html[8]?加入 JAP 開發(fā)者組織:?https://justauth.pluscommunity/weneed.html
