iT邦幫忙

2021 iThome 鐵人賽

DAY 27
0
Software Development

用Keycloak學習身份驗證與授權系列 第 27

Day26 - 【概念篇】Keycloak使用基本概念 - 第二部分: User & Group

  • 分享至 

  • xImage
  •  

本系列文之後也會置於個人網站


帳號(User)

基本訊息

接著來看看與帳號有關的設定。

在之前,已經建立過一帳號--bob。過去學習實驗,也都以bob驗證身份。接著我們要來更新一下這個帳號。

首先看一下基本訊息:

來添加一些資訊:

  • Email: bob@fake.email
  • First Name: Bob
  • Last Name: Lee
  • Email Verified: ON

此外,可以要求使用者在必須做一些事情,譬如:驗證信箱、更新密碼、更新個人資訊等。

再次登入到應用--「快速開始」,可以看到有一些訊息也有些不同了。

帳號屬性

接著來添加一些額外屬性:

  • birthdate: 2021/10/03
  • gender: man
  • middleName: J
  • nickname: 小明
  • picture: https://cdn.pixabay.com/photo/2013/07/13/10/07/man-156584_960_720.png
  • website: https://bob.id

同樣可以在「快速開始」看到這些改變:

登入會話管理

接著到 Session 頁籤看看:

在這裏,可以強制將一些已經登入的設備、會話登出。

授權管理

Consents 頁籤,可以看到目前已經授權的應用(Client)。


群組(Group)

Group 在本系列之後並不會太常用,實際上能講的東西也不多。可以想象 User 代表個人, Group 代表社團。 個人可以加入多個社團,並且擁有一些社團的屬性。最重要的是,這意味著加入同一個社團的每個人,擁有一些相似的屬性。

建立Group

透過管理界面的左方 Groups 選項,然後按下「New」。

同樣只需要設定一個簡單的Group Name: Group A

接著頁面會有更多可以設定的

可以透過 Attributes 建立一些加入該Group的共同屬性。

將帳號加入群組

要將帳號加入帳號群組也不難。在帳號相關設定頁面的「Groups」頁籤,在 Available Groups 選擇「Grouop A」,然後按下「join」。如此就會將帳號加入可用的Group -- Group A。

不但在帳號設定資訊上的 Group Membership 部門會顯式已加入的 Group - Group A 。在 Group A 的設定頁面的 Members 頁籤,同樣可以看到已經加入的帳號 -- bob 。

帳號擁有者自行管理

在之前,也已經看過帳號擁有者自行管理帳號訊息的客戶端。這是在建立Realm後,Keycloak自動建立的Client,提供給帳號擁有者本身管理帳號。現在可以透過 http://localhost:8080/auth/realms/quick-start/account/ 這個URL使用這個應用。

更新基本資訊

首先,同樣來看看基本資訊。 點選「Personal Info」:

在這個部份可以字型更新Email、First Name和Last Name。

雙因子驗證(2FA)

此外,還可以設定2FA,在下次登入時,必須有二階段驗證。來建立OTP吧!

這次在「Account Security > Signing in」功能裡關於2FA的部分,點選「Set up Authenticator Application」。

在要求登入後,會顯式一個QR Code。你可以透過FreeOTP或是Google Authenticator等行動裝置的應用掃描QR Code。將QR Code裡所儲存的資訊加入到應用中,接著應用會顯示OTP,將這6個數字填入「One-time code」欄位。然後在「Device Name」填入自己可以識別行動裝置的名字。

最後頁面會呈現下面樣子:

同樣在帳號管理界面上,「Credentials」的頁籤同樣會出現otp的相關設定。


上一篇
Day25 - 【概念篇】Keycloak使用基本概念 - 第一部分: Scopes & Claims
下一篇
Day27 - 【概念篇】Keycloak使用基本概念 - 第二部分: User & Claim & Profile
系列文
用Keycloak學習身份驗證與授權41
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言