自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Keycloak Spring Security適配器的常用配置

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

[[415759]]

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

Keycloak適配器的常用屬性

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

realm

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

resource

應(yīng)用的client_id,Keycloak服務(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è)置為true, Keycloak Adapter將檢查令牌攜帶的用戶角色是否跟資源一致;否則會(huì)去查詢r(jià)ealm中用戶的角色。默認(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)證的用戶到登錄頁(yè)面還是返回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í),需要配置客戶端令牌,目前支持secret和jwt類型。參考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

本文轉(zhuǎn)載自微信公眾號(hào)「碼農(nóng)小胖哥」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系碼農(nóng)小胖哥公眾號(hào)。

 

責(zé)任編輯:武曉燕 來源: 碼農(nóng)小胖哥
相關(guān)推薦

2012-09-19 15:29:26

Worklight適配器

2021-08-03 22:51:05

Keycloak授權(quán)服務(wù)器

2015-08-07 10:05:37

recyclervie超省寫法

2018-10-11 10:38:31

前端JavaScript編程語言

2022-02-18 17:21:29

適配器模式客戶端

2020-10-25 08:56:21

適配器模式

2022-02-13 23:33:24

設(shè)計(jì)模式Java

2021-02-16 08:16:09

適配器模式MybatisJava

2011-04-28 09:54:50

jQuery

2013-11-26 16:39:21

Android設(shè)計(jì)模式

2021-02-18 08:39:28

設(shè)計(jì)模式場(chǎng)景

2012-05-16 17:22:11

Java設(shè)計(jì)模式

2009-11-18 18:08:20

PHP適配器模式

2009-12-21 10:26:09

Oracle適配器

2012-08-02 10:46:34

JavaAdapter模式

2010-07-09 12:53:30

HART協(xié)議

2022-02-15 07:35:12

服務(wù)器KeycloakOAuth2

2012-11-15 10:19:23

IBMdw

2014-12-17 09:57:01

AndroidAdapteViewHolder

2013-02-26 10:55:47

C#適配器設(shè)計(jì)模式
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)