<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>

          Keycloak Spring Security適配器的常用配置

          共 2103字,需瀏覽 5分鐘

           ·

          2021-08-26 05:42


          源 /         文/ 

          上一篇Keycloak系列文章中,我們把KeycloakSpring Security成功適配,其中用了一個(gè)keycloak.json的配置。它包含了不少屬性,我覺得在深入學(xué)習(xí)Keycloak的過程中有必要和大家共同學(xué)習(xí)一下。

          ?

          系列文章請(qǐng)移步Keycloak認(rèn)證授權(quán)系列。

          Keycloak適配器的常用屬性

          Spring Security集成Keycloak 適配器時(shí)需要引入一些額外的配置屬性。一般我們會(huì)把它配置到Spring Boot的配置文件中。

          realm

          Keycloak領(lǐng)域名稱,這是一個(gè)必須項(xiàng)。

          resource

          應(yīng)用的client_idKeycloak服務(wù)器上注冊(cè)的每個(gè)客戶端都有一個(gè)獨(dú)一無二的標(biāo)識(shí)。這是一個(gè)必須項(xiàng)。

          realm-public-key

          PEM格式的realm公鑰,不建議客戶端配置。每次Keycloak Adapter會(huì)自動(dòng)拉取它。

          auth-server-url

          Keycloak服務(wù)器的基本地址,格式通常是https://host:port/auth,這是一個(gè)必須項(xiàng)。

          ssl-required

          Keycloak 服務(wù)器的通信使用HTTPS的范圍,是可選的,有三個(gè)選項(xiàng):

          • external,默認(rèn)值,表示外部的請(qǐng)求都必須使用HTTPS
          • all,顧名思義,所有的都使用HTTPS。
          • none, 禁用HTTPS

          confidential-port

          Keycloak服務(wù)器的安全端口,默認(rèn) 8443。

          use-resource-role-mappings

          如果設(shè)置為trueKeycloak Adapter將檢查令牌攜帶的用戶角色是否跟資源一致;否則會(huì)去查詢realm中用戶的角色。默認(rèn)false。

          public-client

          設(shè)置為true則不需要為客戶端配置密碼,否則需要配置keycloak.credentials.secret。生成secret的方法是在Keycloak控制臺(tái)上修改對(duì)應(yīng)客戶端設(shè)置選項(xiàng)訪問類型confidential,然后在安裝中查看對(duì)應(yīng)配置項(xiàng)。當(dāng)訪問類型不是confidential時(shí)該值為false。

          enable-cors

          開啟跨域(cors)支持??蛇x項(xiàng),默認(rèn)false。如果設(shè)置為true就激活了cors-開頭的配置項(xiàng),這些配置項(xiàng)都不啰嗦了,都是常見的跨域配置項(xiàng)。

          bearer-only

          對(duì)于服務(wù),這應(yīng)該設(shè)置為true。如果啟用,適配器將不會(huì)嘗試對(duì)用戶進(jìn)行身份驗(yàn)證,而只會(huì)驗(yàn)證不記名令牌。如果用戶請(qǐng)求資源時(shí)沒有攜帶Bearer Token將會(huì)401。這是可選的。默認(rèn)值為false。

          autodetect-bearer-only

          如果你的應(yīng)用不僅僅是Web應(yīng)用而且還提供API服務(wù)(現(xiàn)在通常是Restful Service),開啟了這一配置后Keycloak服務(wù)器會(huì)通過請(qǐng)求標(biāo)頭相對(duì)“智能”地引導(dǎo)未認(rèn)證的用戶到登錄頁面還是返回401狀態(tài)。比bearer-only更加智能一些。

          enable-basic-auth

          為適配器開啟Basic Authentication認(rèn)證,如果開啟就必須提供secret。默認(rèn)false。

          expose-token

          JavaScript CORS 請(qǐng)求通過根路徑下/k_query_bearer_token用來從服務(wù)器獲取令牌的,好像是nodejs相關(guān)的后端應(yīng)用使用的東西,我折騰了半天沒有調(diào)用成功。

          credentials

          當(dāng)客戶端的訪問類型(access type)為Confidential時(shí),需要配置客戶端令牌,目前支持secretjwt類型。參考public-client中的描述。

          總結(jié)

          上面列舉了大部分我們常用的屬性,后面的屬性和定制Keycloak服務(wù)器相關(guān)暫時(shí)不介紹了。Keycloak剩下的配置項(xiàng)可以到Keycloak Java適配器配置項(xiàng)[1]查看。下一篇我將對(duì)Keycloak Spring Security認(rèn)證授權(quán)的流程作出一個(gè)分析。

          參考資料

          [1]

          Keycloak Java適配器配置項(xiàng): https://www.keycloak.org/docs/latest/securing_apps/index.html#_java_adapter_config



          好文推薦



          震驚!20秒下載整個(gè)Netflix庫,日本實(shí)現(xiàn)世界最高網(wǎng)速:319Tb/s


          字節(jié)跳動(dòng)小組長無意中得知整個(gè)部門的薪資!自己只有28K!手下人卻拿35K!怎么辦?


          居然有人提出“國家何時(shí)整治程序員的高薪現(xiàn)象”?碼農(nóng)們都?xì)馔卵?/p>



          END


          頂級(jí)程序員:topcoding

          做最好的程序員社區(qū):Java后端開發(fā)、Python、大數(shù)據(jù)、AI


          一鍵三連「分享」、「點(diǎn)贊」和「在看」


          瀏覽 43
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  成人做爰黄 片免费观看视频视频 | 特级西西人体444.444人体聚色 | 免费日韩欧美 | 特黄色一级免费视频 | 色午夜 |