<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適配器的常用配置

          共 2016字,需瀏覽 5分鐘

           ·

          2021-08-09 22:35

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

          ?

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

          Keycloak適配器的常用屬性

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

          realm

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

          resource

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

          realm-public-key

          PEM格式的realm公鑰,不建議客戶端配置。每次Keycloak Adapter會自動(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)值,表示外部的請求都必須使用HTTPS。
          • all,顧名思義,所有的都使用HTTPS。
          • none, 禁用HTTPS

          confidential-port

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

          use-resource-role-mappings

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

          public-client

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

          enable-cors

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

          bearer-only

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

          autodetect-bearer-only

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

          enable-basic-auth

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

          expose-token

          JavaScript CORS 請求通過根路徑下/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]查看。下一篇我將對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

          關(guān)于更多Keycloak的分享,可以關(guān)注下方公眾號


          往期推薦

          戰(zhàn)爭升級!Elasticsearch 從客戶端向 AWS 開了一炮!

          騰訊員工吐槽:團(tuán)隊(duì)來了個(gè)阿里高p,瞬間會議變多,群多了

          程序員加入新團(tuán)隊(duì)必問的20道問題

          只是想虐下春麗,一不小心擼了臺游戲機(jī)...

          Spring Boot中使用時(shí)序數(shù)據(jù)庫InfluxDB


          瀏覽 51
          點(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>
                  婷婷五月激情网 | 大香蕉久久久久久成人草 | 青青草成人视屏 | 老鸭窝成人网 | 黄色免费看视频 |