JAP v1.0.1-alpha 發(fā)布,適配前后端分離的項(xiàng)目

JAP(JustAuthPlus) v1.0.1-alpha 版本已于2021年03月05日發(fā)布。

本版本為預(yù)覽版本掂摔,如果遇到問題,請(qǐng)通過 Issue 告知:

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,引入上下文 JapContextJapAuthentication
  • 重構(gòu) JapConfig 類玩讳,僅保留 ssossoConfig 屬性涩蜘,同時(shí)增加 tokenExpireTimecacheExpireTime 參數(shù)
  • 修改 JapCacheConfig 中的緩存默認(rèn)有效期為7天
  • 修改 JapUserService 接口類中的默認(rèn)內(nèi)容
  • JapCache 中添加 void removeKey(String key) 方法
  • JapException 中增加 errorCodeerrorMessage 屬性,方便將異常信息處理為統(tǒng)一格式的返回?cái)?shù)據(jù)
  • JapStrategy 接口中 authenticate 方法的返回類型修改為 JapResponse熏纯,所有模塊的策略方法都返回統(tǒng)一格式的數(shù)據(jù)
  • JapUser 中增加 token 屬性同诫,登錄完成后將自動(dòng)返回 JAP Token
  • JapUtil 類中為 redirect 方法打上 @Deprecated 標(biāo)記,未來可能刪除樟澜。同時(shí)增加 createToken 方法

jap-oauth2

  • 修改 Oauth2Strategyauthenticate 方法误窖,統(tǒng)一返回 JapResponse

jap-oidc

  • 修改 OidcStrategyauthenticate 方法叮盘,統(tǒng)一返回 JapResponse

jap-simple

  • 修改 SimpleStrategyauthenticate 方法,統(tǒng)一返回 JapResponse

jap-social

  • 修改 SocialStrategyauthenticate 方法贩猎,統(tǒng)一返回 JapResponse

jap-sso

  • 修改 JapSsoHelper#login 方法的返回值為當(dāng)前用戶的 JAP Token
  • 新增 JapSsoUtil 類熊户,處理 Token
  • JapSsoConfig 類中萍膛,刪除 loginUrllogoutUrl 屬性

Other

  • 增加一些單元測(cè)試

可選 Demo

JAP 是什么吭服?

JAP 是一款開源的登錄中間件,基于模塊化設(shè)計(jì)蝗罗,并且與業(yè)務(wù)高度解耦艇棕,使用起來非常靈活,開發(fā)者可以毫不費(fèi)力地將 JAP 集成到任何 web 應(yīng)用程序中串塑,就像集成 JA 一樣沼琉,簡(jiǎn)單方便。

JAP 要做的是為所有需要登錄認(rèn)證的應(yīng)用提供一套標(biāo)準(zhǔn)的解決方案桩匪,集成所有 APP打瘪。方便開發(fā)者無縫對(duì)接任何第三方應(yīng)用或者自有系統(tǒng)。

  • JAP 口號(hào):Just auth into any app!
  • JAP 目標(biāo):讓身份鏈接無處可藏
  • JAP 價(jià)值:方便開發(fā)者無縫對(duì)接任何第三方應(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 有什么特點(diǎn)?

  • 單點(diǎn)登錄:一處登錄须板,處處通行
  • 開箱即用:API 設(shè)計(jì)趨近于白話碰镜,類似并參考 JustAuth
  • 多平臺(tái):
    • 國內(nèi)外數(shù)十家第三方平臺(tái)(基于 JustAuth)
    • OAuth(OIDC) 協(xié)議的平臺(tái),內(nèi)置國內(nèi)外常見平臺(tái)
    • SAML 協(xié)議的平臺(tái)习瑰,內(nèi)置國內(nèi)外常見平臺(tái)
  • 業(yè)務(wù)解耦:JAP 不深入具體的業(yè)務(wù)洋措,只將授權(quán)認(rèn)證方面的功能抽象出一套標(biāo)準(zhǔn)的組件,方便任意系統(tǒng)快速對(duì)接
  • 模塊化:JAP 基于模塊開發(fā)杰刽,基本做到菠发,用哪種引哪種
  • 統(tǒng)一標(biāo)準(zhǔn):一切內(nèi)置實(shí)現(xiàn)或者自定義的實(shí)現(xiàn),都基于標(biāo)準(zhǔn)的策略
  • 多語言支持:Java贺嫂、Python滓鸠、Go、Node等

適用于哪些場(chǎng)景第喳?

  • 新項(xiàng)目立項(xiàng)糜俗,你們需要研發(fā)一套獨(dú)立的、統(tǒng)一的、包含登錄悠抹、認(rèn)證的系統(tǒng)
  • 現(xiàn)有登錄模塊為自研珠月,但是新一輪的技術(shù)規(guī)劃中,你們想將登錄認(rèn)證模塊重構(gòu)楔敌,以更加靈活的架構(gòu)適應(yīng)后面的新需求啤挎,比如:集成 MFA 登錄、集成 OAuth 登錄等
  • 你們的項(xiàng)目太多卵凑,每個(gè)項(xiàng)目都需要登錄認(rèn)證模塊庆聘,想解決這種重復(fù)勞動(dòng)的問題
  • 從長遠(yuǎn)方面考慮,公司或組織或個(gè)人需要一套標(biāo)準(zhǔn)的勺卢、靈活的伙判、功能全面的登錄認(rèn)證功能
  • 你們不想將研發(fā)成本放到登錄認(rèn)證這種必須但想做完善又需要花費(fèi)大量時(shí)間成本、人力成本的事情上黑忱,希望有一個(gè)中間件可以完美集成登錄認(rèn)證功能宴抚,使研發(fā)人員有更多的時(shí)間和精力投入到業(yè)務(wù)開發(fā)中,提高研發(fā)產(chǎn)能和研發(fā)效率
  • 你們除了需要對(duì)接標(biāo)準(zhǔn)的身份提供商外甫煞,還有一些非標(biāo)準(zhǔn)的身份提供商菇曲,需要投入研發(fā)人員單獨(dú)定制開發(fā)
  • 你們企業(yè)中用到的開發(fā)語言較多,比如:Java危虱、Python羊娃、Node等,每種語言對(duì)應(yīng)的系統(tǒng)埃跷,都要使用不同語言實(shí)現(xiàn)相同的登錄認(rèn)證功能
  • 你們需要研發(fā)一個(gè)支持 OAuth 登錄的 Web 應(yīng)用程序
  • 你們想讓自己的系統(tǒng)支持對(duì)外提供 OAuth 服務(wù)
  • 你們需要研發(fā)一個(gè)支持 SAML 登錄的 Web 應(yīng)用程序蕊玷,但又苦于 SAML 那龐大而繁瑣的業(yè)務(wù)流程和配置
  • 你們想研發(fā)一個(gè)支持 LDAP 登錄的程序,但又不知道如何入手
  • ...

目前實(shí)現(xiàn)的功能

感恩有你弥雹,歡迎加入 JAP 開發(fā)者組織

JAP 開源地址

本篇文章由一文多發(fā)平臺(tái)ArtiPub自動(dòng)發(fā)布

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末垃帅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子剪勿,更是在濱河造成了極大的恐慌贸诚,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厕吉,死亡現(xiàn)場(chǎng)離奇詭異酱固,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)头朱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門运悲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人项钮,你說我怎么就攤上這事班眯∠M#” “怎么了?”我有些...
    開封第一講書人閱讀 157,630評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵署隘,是天一觀的道長宠能。 經(jīng)常有香客問我,道長磁餐,這世上最難降的妖魔是什么违崇? 我笑而不...
    開封第一講書人閱讀 56,554評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮崖媚,結(jié)果婚禮上亦歉,老公的妹妹穿的比我還像新娘恤浪。我一直安慰自己畅哑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,662評(píng)論 6 386
  • 文/花漫 我一把揭開白布水由。 她就那樣靜靜地躺著荠呐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪砂客。 梳的紋絲不亂的頭發(fā)上泥张,一...
    開封第一講書人閱讀 49,856評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音鞠值,去河邊找鬼媚创。 笑死,一個(gè)胖子當(dāng)著我的面吹牛彤恶,可吹牛的內(nèi)容都是我干的钞钙。 我是一名探鬼主播宰掉,決...
    沈念sama閱讀 39,014評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼曲伊,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼婉宰!你這毒婦竟也來了娃弓?” 一聲冷哼從身側(cè)響起谎柄,我...
    開封第一講書人閱讀 37,752評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤盖腕,失蹤者是張志新(化名)和其女友劉穎嚣艇,沒想到半個(gè)月后亭饵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赠涮,經(jīng)...
    沈念sama閱讀 44,212評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡子寓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,541評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了笋除。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斜友。...
    茶點(diǎn)故事閱讀 38,687評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖株憾,靈堂內(nèi)的尸體忽然破棺而出蝙寨,到底是詐尸還是另有隱情晒衩,我是刑警寧澤,帶...
    沈念sama閱讀 34,347評(píng)論 4 331
  • 正文 年R本政府宣布墙歪,位于F島的核電站听系,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏虹菲。R本人自食惡果不足惜靠胜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,973評(píng)論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望毕源。 院中可真熱鬧浪漠,春花似錦、人聲如沸霎褐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冻璃。三九已至响谓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間省艳,已是汗流浹背娘纷。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留跋炕,地道東北人赖晶。 一個(gè)月前我還...
    沈念sama閱讀 46,406評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像辐烂,于是被迫代替她去往敵國和親遏插。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,576評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容