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

開源認(rèn)證授權(quán)管理平臺(tái)Keycloak初體驗(yàn)

開源
因?yàn)槭孪纫呀?jīng)知道Keycloak提供了Spring Security的適配器。先獨(dú)立把Keycloak的核心概念弄清楚,然后再去研究它如何結(jié)合Spring Security的。

[[409672]]

 上一篇文章簡單介紹了Keycloak,反響不錯(cuò)??磥泶蠹叶紝?duì)這個(gè)東西感興趣,今天就來進(jìn)一步的體驗(yàn)Keycloak,讓我們對(duì)它有一個(gè)直觀的認(rèn)識(shí),然后逐步深入,把它的設(shè)計(jì)理念和概念各個(gè)擊破。

總體思路

因?yàn)槭孪纫呀?jīng)知道Keycloak提供了Spring Security的適配器。先獨(dú)立把Keycloak的核心概念弄清楚,然后再去研究它如何結(jié)合Spring Security的。

安裝Keycloak

本文的Keycloak版本為 14.0.0。

我向來不喜歡在安裝上浪費(fèi)時(shí)間,研究階段能用Docker來安裝是最省心的。

  1. docker run -d -p 8011:8080 --name keycloak-server  -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin jboss/keycloak 

執(zhí)行上述命令安裝Keycloak,成功后打開http://localhost:8011/auth/admin輸入賬號(hào)admin和密碼admin,就進(jìn)入了管理控制臺(tái)。如果你感覺英文不爽可以根據(jù)下圖改成中文:

中文界面的修改

改完之后你隨便點(diǎn)點(diǎn)欄目了解一下,想象一下它們各自的功能和作用,這時(shí)候你要放輕松點(diǎn)不用想的太深就是了解一下全貌。

Realm

如果你接觸過知名安全框架Shiro相信對(duì)這個(gè)概念不會(huì)陌生。realm是管理用戶和對(duì)應(yīng)應(yīng)用的空間,有點(diǎn)租戶的味道,可以讓不同realm之間保持邏輯隔離的能力。

默認(rèn)情況下,Keycloack提供了一個(gè)叫Master的realm,這個(gè)Master不承擔(dān)具體應(yīng)用和用戶的管理,它只用來管理其它realm的生命周期。

Master域的管理職能示意圖

登入Master的realm創(chuàng)建一個(gè)自定義域felord.cn。

創(chuàng)建自定義域

User

User是能夠登錄到應(yīng)用系統(tǒng)的實(shí)體,其實(shí)可以理解為賬戶。他們可以擁有與自己相關(guān)的屬性,例如電子郵件、用戶名、地址、電話號(hào)碼和生日。可以為他們分配組成員身份并為其分配特定的角色。Keycloak中的User都有他們從屬的realm。接下來在我上面的自定義域felord.cn中新建一個(gè)用戶,步驟為:

  • 菜單欄找到管理->用戶,然后打開添加用戶。
  • 鍵入唯一的必填項(xiàng)用戶名(username)。
  • 開啟(ON)郵件認(rèn)證(Email Verified(,然后保存。
  • 點(diǎn)擊憑據(jù)(Credentials)選項(xiàng)卡為新用戶設(shè)置臨時(shí)密碼。此密碼是臨時(shí)的,用戶將需要在第一次登錄時(shí)更改它。如果您更喜歡創(chuàng)建永久密碼,請(qǐng)將臨時(shí)開關(guān)切換到關(guān)閉并單擊設(shè)置密碼。

然后注銷當(dāng)前用戶admin并到http://localhost:8011/auth/realms/felord.cn/account以剛創(chuàng)建的用戶felord的身份登錄到felord.cn域。

有沒有發(fā)現(xiàn)登錄鏈接的特點(diǎn)?

到這里一個(gè)創(chuàng)建realm和賬戶的流程就熟悉完了,不過我相信大多數(shù)同學(xué)看到這里還是懵逼的。怎么就手動(dòng)了呢?不要急后面會(huì)結(jié)合代碼來實(shí)現(xiàn)上述的流程以及更加符合應(yīng)用場(chǎng)景的流程。

Keycloak的核心概念

接下來是我們?cè)谑褂肒eycloak時(shí)需要掌握的一些概念,上面已經(jīng)提到了realm和user,這里就不再贅述了

authentication

識(shí)別和驗(yàn)證用戶的過程。證明“你說的這個(gè)你就是你”。

authorization

授予用戶訪問權(quán)限的過程。表明“你可以干什么、不可以干什么”。

credentials

證明用戶身份的憑證??赡苁敲艽a、一次性密碼、數(shù)字證書以及指紋。

roles

角色是RBAC的重要概念,用于表明用戶的身份類型。

user role mapping

用戶角色映射關(guān)系。通常一個(gè)用戶可能有多個(gè)角色,一個(gè)角色也可以對(duì)應(yīng)不同的人。

composite roles

復(fù)合角色,聽起來很玄乎,其實(shí)就是角色的從屬關(guān)系或者說繼承關(guān)系。B角色從屬于A角色,那么你擁有了A角色就一定擁有B角色的權(quán)限。

groups

用戶組,你可以將一系列的角色賦予定義好的用戶組,一旦某用戶屬于該用戶組,那么該用戶將獲得對(duì)應(yīng)組的所有角色權(quán)限。

clients

客戶端。通常指一些需要向Keycloack請(qǐng)求以認(rèn)證一個(gè)用戶的應(yīng)用或者服務(wù),甚至可以說尋求Keycloack保護(hù)并在Keycloack上注冊(cè)的請(qǐng)求實(shí)體都是客戶端。

client adapters

Keycloack為了支持多語言和跨平臺(tái)而設(shè)計(jì)的適配器,比如適配Java的、適配Python的。有些是內(nèi)置的實(shí)現(xiàn),有些需要我們按照Keycloack的抽象定義來實(shí)現(xiàn)。后續(xù)我們主要和Spring Boot Adapter打交道。

identity provider

用來認(rèn)證用戶的服務(wù),簡稱IDP。Keycloack本身就是一個(gè)IDP。這個(gè)類似Spring Security中的AuthenticationProvider接口。

還有一些概念等遇到了會(huì)再補(bǔ)充,有點(diǎn)多,先消化消化。

總結(jié)

今天這一篇主要對(duì)Keycloack進(jìn)行一個(gè)初步的體驗(yàn),搭建了一個(gè)開發(fā)環(huán)境供后續(xù)的學(xué)習(xí),同時(shí)對(duì)Keycloack的一些核心概念進(jìn)行了匯總。不過由于篇幅限制沒有完全的去梳理一些概念,不過學(xué)習(xí)都是循序漸進(jìn)的,急不得。自定義realm和用戶都建好了,下一篇我將嘗試用Keycloack來保護(hù)Spring Boot應(yīng)用。業(yè)余時(shí)間,碼字不易,還請(qǐng)多多關(guān)注,大力支持一下作者。

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

 

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

2021-07-06 07:21:16

Spring 安全平臺(tái)

2021-08-03 22:51:05

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

2023-08-07 08:48:13

2009-08-01 09:06:35

UbuntuOneLinux開源操作系統(tǒng)

2009-03-09 15:12:39

XenServer安裝

2015-01-13 10:01:03

AWS市場(chǎng)亞馬遜云平臺(tái)

2009-09-21 13:40:57

虛擬化管理微軟SCVMM

2010-11-22 10:31:17

Sencha touc

2011-05-30 15:12:10

App Invento 初體驗(yàn)

2023-07-15 08:01:38

2022-02-18 08:34:33

JavaSa-Token項(xiàng)目

2011-09-05 10:20:21

Sencha ToucAPP

2013-05-28 10:22:03

2017-09-05 05:55:24

AWS ES集群大數(shù)據(jù)

2009-07-21 13:08:08

iBATIS DAO

2023-07-17 08:34:03

RocketMQ消息初體驗(yàn)

2025-04-10 07:30:43

2024-12-23 07:00:00

FastExcelEasyExcel開源框架

2022-02-21 10:17:33

Rancher開源云原生

2011-09-15 15:03:10

點(diǎn)贊
收藏

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