<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          JAP 1.0.2 正式發(fā)布,jap-ids 支持多租戶、適配前后端分離、自定義授權(quán)流程等新特性

          共 5494字,需瀏覽 11分鐘

           ·

          2021-05-28 11:12

          JAP 1.0.2 正式發(fā)布

          概要

          1.jap-ids 1.0.2 支持多租戶場景、支持動(dòng)態(tài) issuer、支持前后端分離的業(yè)務(wù)場景;2.jap-social 對外提供 refreshTokenrevokeToken 和 getUserInfo 方法;3.新增 Pipeline 模式,支持自定義部分業(yè)務(wù)場景的流程,同時(shí)引入 SPI 機(jī)制;4.基于 Github Action,JAP 正式啟用快照版,比如:1.0.2-SNAPSHOT。(快照版實(shí)時(shí)更新,但不可用于生產(chǎn)環(huán)境)5.使用 jap-bom 管理項(xiàng)目版本依賴,使用 flatten-maven-plugin 簡化 pom 版本6.JustAuth 和 JAP 項(xiàng)目已經(jīng)加入 “開源軟件供應(yīng)鏈點(diǎn)亮計(jì)劃 - 暑期2021[1]”,歡迎各位在校學(xué)生踴躍參與!可在“碼一碼”公眾號(hào)中回復(fù) “summer” 獲取活動(dòng)詳情。

          JAP 1.0.2 版本更新內(nèi)容

          本次更新涉及到字段、方法返回類型的修改,請升級的時(shí)候注意。可以參照本文下方的更新說明進(jìn)行修改、調(diào)整。

          新功能/特性

          jap-ids 模塊

          ?IdsConfig中添加 enableDynamicIssuer 屬性,boolean 類型。當(dāng) enableDynamicIssuer=true 時(shí),開發(fā)者不再需要單獨(dú)設(shè)置 issuerjap-ids 將從當(dāng)前請求的域名中自動(dòng)提取 issuer

          此功能針對客戶端支持自定義域名的業(yè)務(wù)場景。可以通過域名的標(biāo)識(shí)(比如二級域名jap.justauth.plus 中的標(biāo)識(shí)就是 jap)確定用戶所屬的客戶端(也可以對應(yīng)到租戶)。

          ?IdsConfig 中添加 loginPageUrl 屬性,loginPageUrl 與 loginUrl 的區(qū)別:

          ?loginPageUrl:登錄表單頁面 URL,關(guān)鍵字:頁面?loginUrl:登錄的api URL,關(guān)鍵字:API

          ?IdsConfig中添加 externalLoginPageUrl 屬性,boolean 類型。

          如果授權(quán)服務(wù)未提供登錄頁面(登錄頁面由其他服務(wù)托管,比如登錄頁面在單獨(dú)的靜態(tài)服務(wù)中部署),則需要啟用此配置。

          ?IdsConfig中添加 externalConfirmPageUrl 屬性,boolean 類型。

          如果授權(quán)服務(wù)未提供授權(quán)確認(rèn)頁面(授權(quán)確認(rèn)頁面由其他服務(wù)托管,比如授權(quán)確認(rèn)頁面在單獨(dú)的靜態(tài)服務(wù)中部署),則需要啟用此配置。

          ?IdsConfig中添加 authorizeAutoApproveUrl 屬性。

          當(dāng)授權(quán) URL 中包含 autoapprove=true 時(shí),授權(quán)服務(wù)器在用戶登錄完成后,不會(huì)跳轉(zhuǎn)到 confirmPageUrl,而是直接跳轉(zhuǎn)到 authorizeAutoApproveUrl

          ?添加 IdsUserStoreService 接口類,以支持登錄后對用戶數(shù)據(jù)的自定義操作,默認(rèn)為 Session 存儲(chǔ)用戶信息。感謝微信用戶(antscqy)的建議?添加 IdsPipeline 接口,開發(fā)人員可以自定義流程,目前僅支持自定義 IdsxxFilter(過濾器)和 LoginEndpoint 的流程。?添加 spi 插件機(jī)制,jap-ids 對外提供的接口,都可以以 spi 的形式實(shí)現(xiàn)。?添加以下內(nèi)置 scope:profileaddressread and write?在 OauthUtil#createAuthorizeUrl(String, IdsRequestParam) 中添加 uid 參數(shù)(可選的參數(shù))。

          jap-social 模塊

          ?SocialStrategy 對外提供 refreshTokenrevokeToken 和 getUserInfo 方法。感謝群友的反饋。

          修改

          POM 依賴

          ?將 javax.servlet-api 依賴替換為 jakarta.servlet-api

          jap-ids 模塊

          ?將 IdsConfig.confirmUrl 參數(shù)名稱修改為 confirmPageUrl?將 ApprovalEndpoint#getAuthClientInfo(HttpServletRequest) 的返回類型修改為IdsResponse<String, Map<String, Object>>?將 Ap provalEndpoint#authorize(HttpServletRequest) 的返回類型修改為 IdsResponse<String, String>?將 AuthorizationEndpoint#agree(HttpServletRequest) 的返回類型修改為 IdsResponse<String, String>?將 LoginEndpoint#signin(HttpServletRequest) 的返回類型修改為 IdsResponse<String, String>?將 LogoutEndpoint#logout(HttpServletRequest) 的返回類型修改為 IdsResponse<String, String>?修改 ClientDetail 類的注釋。?將 IdsResponse#getData() 方法的返回類型修改為泛型?刪除 IdsScopeProvider#initScopes(List<IdsScope>) 方法,不再允許重置系統(tǒng)內(nèi)置的 scope,新版 jap-ids 支持添加新的 scope 以及 修改內(nèi)置的 scope 描述。?當(dāng)response_type=id_token時(shí),id_token 中將返回用戶的基本信息(依據(jù) scope 授權(quán)范圍)。?優(yōu)化 UserInfoEndpoint#getCurrentUserInfo(HttpServletRequest) 方法的業(yè)務(wù)流程,對于用戶的特定屬性,比如手機(jī)號(hào)、郵箱等,按照提供的 scope 決定是否返回。?修改 IdsUserService 接口的loginByUsernameAndPassword 和 getByName 方法,分別新增了 clientId 入?yún)ⅰ?/span>

          針對多租戶場景下,同一個(gè)用戶可能存在多個(gè)租戶主體下,單純依靠用戶賬密已經(jīng)無法唯一確定一個(gè)用戶,這種情況下業(yè)務(wù)系統(tǒng)可以根據(jù) clientId 獲取具體的租戶下的用戶信息。

          PR

          ?合并 Gitee PR #11[2] by @dreamlu[3]。使用 flatten-maven-plugin 簡化 pom 版本?合并 Gitee PR #12[4] by @sywd[5]。添加 jap-bom 管理項(xiàng)目版本依賴?合并 Gitee PR #13[6] by @dreamlu[7]。代碼優(yōu)化,方便作為 Spring bean 初始化?合并 Gitee PR #14[8] by @dreamlu[9]。優(yōu)化 pom 配置,修復(fù) jap-bom 導(dǎo)入問題

          關(guān)于 JAP

          JAP 是什么?

          JAP 是一款開源的登錄認(rèn)證中間件,基于模塊化設(shè)計(jì),為所有需要登錄認(rèn)證的 WEB 應(yīng)用提供一套標(biāo)準(zhǔn)的技術(shù)解決方案,開發(fā)者可以基于 JAP 適配絕大多數(shù)的 WEB 系統(tǒng)(自有系統(tǒng)、聯(lián)邦協(xié)議)。

          JAP 有哪些功能?

          JAP 開源的統(tǒng)一登錄認(rèn)證標(biāo)準(zhǔn)組件 - 包含的功能

          JAP 有什么優(yōu)勢?

          ?易用性:JAP 的 API 沿襲 JustAuth 的簡單性,做到了開箱即用的程度。JAP 高度抽象各種登錄場景,提供了多套簡單使用的 API,極大程度的降低了開發(fā)者的學(xué)習(xí)成本和使用成本?全面性:JAP 全量適配 JustAuth 支持的第三方平臺(tái),實(shí)現(xiàn)第三方登錄。同時(shí)也支持所有基于標(biāo)準(zhǔn)OAuth2.0 協(xié)議或者 OIDC 協(xié)議或者 SAML 協(xié)議的應(yīng)用、系統(tǒng),同時(shí) JAP 還提供不同語言版本的項(xiàng)目 SDK,適配多種研發(fā)場景?模塊化:JAP 基于模塊化設(shè)計(jì)開發(fā),針對每一種登錄場景,比如賬號(hào)密碼、OAuth、OIDC等,都單獨(dú)提供了獨(dú)有的模塊化解決方案?標(biāo)準(zhǔn)化:JAP 和業(yè)務(wù)完全解耦,將登錄認(rèn)證相關(guān)的邏輯抽象出一套標(biāo)準(zhǔn)的技術(shù)解決方案,針對每一種業(yè)務(wù)場景,比如用戶登錄、驗(yàn)證密碼、創(chuàng)建并綁定第三方系統(tǒng)的賬號(hào)等,都提供了一套標(biāo)準(zhǔn)的策略或者接口,開發(fā)者可以基于 JAP,靈活并方便的完成相關(guān)業(yè)務(wù)邏輯的開發(fā)和適配?通用性:JAP 不僅可以用到第三方登錄、OAuth授權(quán)、OIDC認(rèn)證等業(yè)務(wù)場景,還能適配開發(fā)者現(xiàn)有的業(yè)務(wù)系統(tǒng)的普通賬號(hào)密碼的登錄場景,基本將所有登錄相關(guān)的業(yè)務(wù)場景都已經(jīng)涵蓋。針對 WEB 應(yīng)用,JAP 將提供滿足各種不同登錄場景的解決方案(和開發(fā)語言無關(guān))

          JAP 適用于哪些場景?

          JAP 適用于所有需要登錄認(rèn)證功能的場景。比如:

          ?要求規(guī)范:新項(xiàng)目立項(xiàng),你們需要研發(fā)一套包含登錄、認(rèn)證的系統(tǒng),并且從長遠(yuǎn)方面考慮,你們需要一套標(biāo)準(zhǔn)的、靈活的、功能全面的登錄認(rèn)證功能。?需求靈活:現(xiàn)有登錄模塊為自研,但是新一輪的技術(shù)規(guī)劃中,你們想將登錄認(rèn)證模塊重構(gòu),以更加靈活的架構(gòu)適應(yīng)后面的新需求,比如:集成 MFA 登錄、集成 OAuth 登錄、SAML登錄等。?力求省事:你們的項(xiàng)目太多(或者是開發(fā)語言較多,比如:Java、Python、Node 等),每個(gè)項(xiàng)目都需要登錄認(rèn)證模塊,想解決這種重復(fù)勞動(dòng)的問題,使研發(fā)人員有更多的時(shí)間和精力投入到業(yè)務(wù)開發(fā)中,提高研發(fā)產(chǎn)能和研發(fā)效率。關(guān)于 JAP 的更多內(nèi)容,可以參考《JAP 產(chǎn)品技術(shù)白皮書[10]

          相關(guān)鏈接

          ?Gitee:https://gitee.com/fujieid/jap?Github:https://github.com/fujieid/jap?CodeChina:https://codechina.csdn.net/fujieid/jap?開發(fā)者文檔:https://justauth.plus

          引用鏈接

          [1] 開源軟件供應(yīng)鏈點(diǎn)亮計(jì)劃 - 暑期2021: https://justauth.wiki/resource/summer2021.html
          [2] #11: https://gitee.com/fujieid/jap/pulls/11
          [3] @dreamlu: https://gitee.com/dreamlu
          [4] #12: https://gitee.com/fujieid/jap/pulls/12
          [5] @sywd: https://gitee.com/sywd
          [6] #13: https://gitee.com/fujieid/jap/pulls/13
          [7] @dreamlu: https://gitee.com/dreamlu
          [8] #14: https://gitee.com/fujieid/jap/pulls/14
          [9] @dreamlu: https://gitee.com/dreamlu
          [10] JAP 產(chǎn)品技術(shù)白皮書: https://justauth.plus/paper/JAP-paper-V1.0.0.pdf


          瀏覽 33
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  精品一区在线观看2025 | 男人v天堂 | 国产精品热久久 | 国产成人久久777777 | 无码艹逼|