又LAG隨性筆記
  • 關於我
  • 作品集
  • 生活隨筆
  • 與我聯絡
  • 隨手扎

隨手扎

January 6, 2022

【用Keycloak學習身份驗證與授權04】淺談身份驗證與授權(2)

實際上,在昨天已經將多數基礎都已經解釋過了,不過我想到還有一些東西可以再多做補充的。

對啦! 擔心彈藥不足,把一篇拆成兩篇來啦!👻

沒有身份識別的存取控制

在我們拆分的整個流程中分成:身份識別、身份驗證、授權、存取控制。但現在,你將Web App登出後再登入一次,你會發現「授權」的部分不見了! 但我們不會立刻來討論這個部分。先來說說身份識別。

不覺得,身份識別在整個流程之中非常雞肋嗎?也就只是將你這個「自然人」與系統中存在的「帳號」對應起來。 也確實如此,在這樣的拆分中,身份識別對於存取控制並不是必要的。在後來已MAC爲基礎發展的存取控制框架,也多不直接與帳號相關。

別擔心,之後會提到什麼是MAC(強制存取控制, Mandatory Access Control)。

不過還有一個更直接沒了這個流程的例子。在以「單人使用」作爲設計的系統之中,我們只需要拿到鑰匙就可以進行存取。

什麼?你說現在還有這種系統嗎?其實還真不少呢,加密上鎖過的壓縮檔案,上鎖的部落格文章。還有授權之後的流程,可能也不包含身份識別。

January 4, 2022

【用Keycloak學習身份驗證與授權03】淺談身份驗證與授權(1)

在「快速開始」的單元中,實際上已經完成了所有身份識別、身份驗證、授權和一些存取控制的流程。

在今天,將會來說說,這些看是相同,卻又有一些不同的名詞。

名詞認識

那麼首先,就先來認識各個名詞的英文吧!

名詞英文簡短說明
身份識別Identification讓系統知道你是誰
身份驗證Authentication讓系統相信你是誰
授權Authorization允許他人存取某項資源
存取控制Access Control檢驗是否有資格存取某項資源

而我認爲軟體開發上,最重要的是 存取控制 。這直接關係到系統上的資源,但卻無法只存在存取控制,勢必需要身份驗證與授權的配合。這也是爲什麼我們很難將這些分開來看。

已「快速開始」爲例

現在,讓我們把視線重新放回剛弄好的「快速開始」。在這個範例中,已經多少碰觸到了每一塊的概念。首先是身份識別:

January 2, 2022

【用Keycloak學習身份驗證與授權02】Quick Start(2)

昨天,已經完成了一部分配置,且也已經可以建立帳號並登入了。
不過,這只能算是半套,而今天要在來完成另外半套。

你可以按照昨天的做法,重新建立一個新的Client。 只是注意在建立的時候,「Root URL」改爲: http://localhost:4200 。 今天,我們要自己實現一個前端網頁去的Web App,然後綁定Keycloak去做登入。


前置要求:

  • 用Keycloak建立一個Client
  • 網頁開發基礎知識(HTML/CSS/JavaScript)
  • TypeScript的部分知識
  • Angular知識(非必要)

調整Keycloak的Client配置

前面說過,Keycloak的Client實際上並不是真正的Client Application,只是做了一些關聯。 今天就要來 快速開始 個自己的Web App。而首先,需要先調整Client的關聯:

  1. 選擇「Clients」
  2. 找到昨天建立的「my-quick-start-app」,然後點選「Edit」

這此調整主要做兩個修改:

January 2, 2022

【用Keycloak學習身份驗證與授權01】Quick Start(1)

開始之前~2🎃。開完笑的~

但是想了許久,總覺的就這麼直接開始解釋各個名詞不太好。

想找個範例又有諸多擔心。

不如…先來快速開始做個範例!


快速開始將分成兩天。 今天會先跑過一次簡單的流程,明天才會寫一點程式。

這兩天看完後,依照需求,你甚至可以開始開發自己的應用。


那我們從Keycloak開始吧!

今天的前置需求:

  • 只要裝好docker就好囉~
  • 阿!對,你還要安裝個瀏覽器。
    (不過你拿什麼在看本系列文章呢?)

透過Docker建立一個Keycloak應用

docker run -p 8080:8080 -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin quay.io/keycloak/keycloak:15.0.2

這麼一條指令就可以開始這系列多數內容了(吧)。現在Keycloak會聆聽本機的8080 port。嘗試用瀏覽器開啓 http://localhost:8080 後,你應該會看到以下畫面:

November 29, 2021

輪廓標記&霍夫曼變換&蒙地卡羅馬可夫 實現結果紀錄

我很想把詳細內容寫下來,好好說明一番。但東西多到可能會需要非常的花費時間。只是又非常非常想大喊:「想到這些方法的人們,根本就是鬼(才)吧!!」

所以這篇,就只簡單記錄一下各種方式的優缺點。

先說明一下問題:現在需要在一張圖片裡,尋找一個二維條碼的位置。

September 16, 2021

【用Keycloak學習身份驗證與授權00】開始之前

這系列文章將帶大家探討軟體開發上,那些身份驗證與授權的相關議題。此外的話題還有身份識別、存取控制。 以目前諸多流行應用都以非單人使用的狀況之下,身份驗證與授權,幾乎是每位開發者都會遇到的題目。 不管你是串接OAuth、管理資源、寫後臺界面,甚至在最初應用的設計,幾乎都會扯上邊。 在業務邏輯之外,這或許會是相當重要的一部分。

關於身份驗證與授權,每一個部分都非常重要,也都可以分開來看,卻也非常難分開來看。

Because these three techniques are so closely related in most real applications, it is difficult to talk about them separate from one another. In particular, authentication and authorization are, in most actual implementations, inextricable. 1

就如同在Oracle上可查詢到的相關資料,這些部分儘管代表者不同概念,但彼此非常相關,實在很難分開來看。雖然如此,每一個部分都是非常龐大的內容,而本系列將會着重於授權控制與存取控制。在此之上會在探討近來已經非常普遍的OAuth 2.0、Open-Id、單點登入(SSO)和基於角色的存取控制(RBAC)

  • ««
  • «
  • 1
  • 2
  • 3
  •  … 
  • 11
  • 12
  • 13
  •  … 
  • 34
  • »
  • »»
© 又LAG隨性筆記 2025