發表文章

目前顯示的是有「技術研究」標籤的文章

SSO實作參考

  iframe嵌入页面实现免登录思路(以vue为例) https://blog.csdn.net/talentT/article/details/137084940?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-137084940-blog-41444713.235%5Ev43%5Epc_blog_bottom_relevance_base8&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-137084940-blog-41444713.235%5Ev43%5Epc_blog_bottom_relevance_base8&utm_relevant_index=2 前端单点登录(iframe方式) https://blog.csdn.net/m0_62169295/article/details/136347830?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-136347830-blog-136450552.235%5Ev43%5Epc_blog_bottom_relevance_base8&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-136347830-blog-136450552.235%5Ev43%5Epc_blog_bottom_relevance_base8&utm_relevant_index=2 如何在一个系统的页面中嵌入另一个系统的页面并实现免登录 https://blog.csdn.net/qq3293343...

技術研究_單點登入(SSO)技術實作_基於OpenID Connect的技術IdentityServer4(IDS4)認證與授權

圖片
理論跟概念部分在前幾篇稍微有些消化,大概能知道一些大範圍方向後。 稍微來研究技術實作細節 IdentityServer是根據OpenID Connect協定標準的身份認證和授權程序,它實作了OpenID 和OAuth 2.0 協定。 在 WebAPI 中,由於使用的是 HTTP 協定實現資料的傳輸,因此具有無狀態性,只是透過一個 URL 位址即可取得想要的資源,可供任意客戶端調用,靈活性強並且掩蓋底層的技術實現。 所以,We bAPI 是非常受開發者喜歡的,可連接任意處的客戶端,不受限制用途很廣。 但是,由於客戶端的多樣性,使用傳統根據 Session 和 Cookies已無法滿足身份驗證和授權,此時,基於JWT的身份驗證和授權就出現了。 JWT 只需要在認證伺服器上拿到一個 Token ,這個 Token 包含了用戶身分的聲明,可以用來授權某個使用者, 很像買車票要驗票概念。 OAuth 2.0 主要是用來向第三方應用頒發令牌的,是基於 JWT的授權解決方案。 所頒發的令牌包含使用者和授權訊息,並決定這個令牌可以存取資源伺服器上的哪些資源。 也就是 在「資源伺服器」和「客戶端」之間加一個授權伺服器,負責使用者的授權。 IdentityServer4 是基於 OpenID Connect 和 OAuth2.0 的 JWT身份驗證和授權框架。 Identity Server4 目前最新版本是 V4.x,是專門為 ASP. NET Core研發的身份驗證和授權框架。 目前可以在 ASP.NET Core 3. x 以上版本中整合使用。 https://www.chinatimes.com/realtimenews/20231031001777-260405?chdtv https://www.thsrc.com.tw/ArticleContent/baba745a-d802-440c-b762-3eef37b96b60 於Visual Studio 2022 建立三個專案 (1) 一個是認證授權中心專案,用於頒發 AccessToken。 對於認證授權項目和 API 資源專案,可以使用獨立的伺服器部署,共同給客戶端提供服務。 (2) 一個或多個 API 資源中心專案,用於提供資料資源。 (3) 一個或多個客戶端專案,提供使用者服務,面向使用者。 (1) 一個是認證授權中...

技術研究_單點登入(SSO)不同類型架構介紹_part2.SSO Protocols(SAML/OIDC)補充&OAuth 2.0

圖片
1.Secure Client-Side Credential Caching ( 基於用戶端的單點登錄/ 安全的客戶端憑據緩存) 特性&優點: 基於客戶端的SSO解決方案。 所有與身份驗證相關的信息都保存在客戶端的憑據存儲中。 只要用戶提供的憑據有效,就可以實現透明的身份驗證,用戶與其他應用程序服務器之間的互動更加方便。 允許用戶只需要身份驗證一次後,對於後續請求的其餘信息將自動由系統提供,無需用戶干預。 缺點: 缺乏靈活性,所有憑據都存儲在客戶端,可能會導致用戶在不同工作站上登錄時遇到問題。 需要定期更新客戶端憑據緩存中的信息,尤其是在新增應用程序服務器時,管理和維護成本較高。 不宜在便攜客戶端設備或存在安全問題的操作系統中使用,可能存在信息泄露風險。 可能導致安全性方面的風險,因為緩存的憑據可能會被不當使用或盜取。 在 .NET C# 和 Java 各自可能會採用那些第三方整合solution,套件或是library? .NET C# Microsoft Identity:用於身份驗證和授權的完整解決方案,支持OAuth和OpenID Connect。 Auth0:一個靈活的身份驗證和授權平台,提供多種身份驗證協議支持。 IdentityServer4:開源的OpenID Connect和OAuth 2.0框架,專為ASP.NET Core設計。 Java Spring Security:提供全面的身份驗證和授權支持,支持多種身份驗證協議。 Keycloak:一個開源身份和訪問管理解決方案,支持SAML、OAuth2和OpenID Connect。 Auth0:與.NET相同,Auth0也提供對Java的支持。 OpenID Connect (OIDC) 2.Secure Server-Side Credential Caching ( 基於伺服器的單點登錄/ 安全的伺服器端憑據緩存) 特性&優點: 所有的身份驗證詳情都存儲在一個中央存儲庫中,快取則存儲在伺服器端。 管理所有不同密碼並將所需信息直接提供給請求應用程序的任務由中央伺服器完成。 中央集中式管控,便於統一管理和維護 簡化了憑證管理流程,減少了多點管理的複雜性。 憑證快取存儲在伺服器端,減少了憑證洩露的風險。 缺點: 中央存儲庫成為單點故障(SPOF,Single Point of F...

技術研究_單點登入(SSO)名詞解釋_MFA介紹_SSO不同類型架構_part1.

圖片
https://www.pinmeto.com/blog/secure-single-sign-on 單點/單一登入(SSO, Single-Sign-On) 用戶只需一次登錄,即可訪問多個應用程式,優點就是在於 減少了需要記住多個帳號和密碼的負擔,也可能間接改善登入不同系統每次都跳出登入畫面問題,能夠簡化密碼的管理,省去了用戶在登入各個功能之前,輸入大量的帳號和密碼這樣的繁瑣工作。但用更客觀層面來看,凡是都有一體兩面。 在之前SSO機制還沒有普及的時候,人們每個月要在輸入密碼和重置密碼的時間上花費平均48分鐘,而在使用了SSO機制以後,能夠極大的縮短其中不必要的登陸時間,用戶可以在短時間內完成對大量登錄程序的操作,同時也能夠為企業減少生產力的損失。  缺點 1.當發生單點故障,則可能牽動全部應用都無法登入存取,日常業務大大地被耽擱。 2.有很多SSO廠商根據功能單獨收費。其中也有不少的核心功能是疊加收費。 3.單點入侵可能造成資安問題。 單一登入(SSO)架構有不同類型 具有多組憑證集(credential set)的SSO,如下: Secure Client-Side Credential Caching(安全的客戶端憑據緩存) Secure Server-Side Credential Caching(安全的服務器端憑據緩存) 更詳細可詳閱 「技術研究_單點登入(SSO)不同類型架構介紹_part2.」 僅有單一組憑證集的SSO(SSO with Single Set of Credentials),如下: Public Key Infrastructure based SSO(基於公鑰基礎設施的SSO) Token based SSO(基於令牌的SSO) MFA,Multi-factor Authentication(多重要素驗證): 是指兩個或多個驗證因素的任何用法。如果僅使用兩個驗證因素,則MFA 也稱為雙重驗證或兩步驗證。三重要素驗證是MFA 的另一種形式。通常帳密輸入登入後,如果有看到跳出捨麼手機收簡訊、或識別號碼點選、指紋、生物識別,都屬於確認是否為你本人這些都算。 Combination of SSO with MFA https://www.researchgate.net/figure/Combination-of-SSO-...