---
# System prepended metadata

title: SSO 簡述
tags: [keycloak]

---

###### tags: `keycloak` `Tool` 


## 三、SSO 簡述

OIDC和SAML討論完後，我們來聊聊單一登入（SSO）。SSO是一個身份驗證方案，它讓使用者能透過一次登入就可訪問多個應用程式和網站。簡而言之：

> 透過單一的登入窗口，進行單一的身分驗證，就可以讓許多的服務共同來使用這個驗證結果

OIDC和SAML都可以實現這樣的SSO功能。舉例來說，假設你在工作中要使用三個不同的平台：

1. 郵件系統（Email System）
2. 公司內部網站（Intranet）
3. 報表和數據分析平台（Analytics Platform）

通常你得記住這三個系統各自的帳號和密碼。但有了SSO，你只需透過一個統一的登入界面（比如由Keycloak管理）登入一次，然後就能自由地訪問這三個不同的平台，無需再逐一輸入帳號和密碼。

總之，SSO幫你將多個獨立的系統集成為單一的入口點。這樣不僅減少了你需要記住多組密碼的困擾，還降低了由於多個系統各自存儧行密碼所帶來的安全風險。

流程範例大致如下：

 - Step1(箭頭1) : 用者首先訪問「Application 01」的 URL 並按下登入按鈕，然後會被引導到 Keycloak 登入頁面。
 - Step2: 用戶在 Keycloak 成功登入後，將被重新導向回「Application 01」的主頁。
 - Step3(箭頭3): 如果用戶在合理的時間內再次訪問「Application 02」，則不需要重新登入。

箭頭2實際上是指示用戶從「應用程式01」被引導到Keycloak的登入頁面這一過程。簡單來說，當用戶嘗試在「應用程式01」登入（箭頭1）後，他們會被重定向到Keycloak以完成身份驗證（箭頭2）。

![](https://hackmd.io/_uploads/Sy0BScvfT.png)
