System Design

System Design #

Single Sign-On (SSO)
Single Sign-On (SSO) # Bytebytego 雖然上圖是以 SAML 為例,但 SSO 流程大致相同,SAML與OIDC最大的差異在驗證請求的格式,前者用xml後者用 jwt 。 OIDC (OpenID Connect) # Authorization vs. Authentication # 授權的重點在於使用者可以做什麼,認證則著重於使用者是否合法 (我是誰) 在談到 OIDC 前需要先了解為何需要,OIDC 是 OAuth2 的擴充協定,但 OAuth2 如其名是「授權 (Authorization)」的協定,如果用其做驗證會引發許多資安問題,在 Oauth.net 的文章中做了一個巧克力和軟糖的譬喻: To help clear things up, it may be helpful to think of the problem in terms of a metaphor: chocolate vs. fudge. From the start, the nature of these two things is quite different: chocolate is an ingredient, fudge is a confection.