一泌枪、SAML及其相關(guān)概念
SAML:
全稱是Security Assertion Markup Language
惦界,即安全斷言標記語言
衬潦,是一個基于XML
的開源標準數(shù)據(jù)格式蜡励,它在當(dāng)事方之間交換身份驗證和授權(quán)數(shù)據(jù)境钟,尤其是在身份提供者
和服務(wù)提供者
之間交換锦担。SAML是OASIS安全服務(wù)技術(shù)委員會
的一個產(chǎn)品,始于2001年慨削。其最近的主要更新發(fā)布于2005年吆豹,但協(xié)議的增強仍在通過附加的可選標準穩(wěn)步增加。SAML解決的最重要的需求是網(wǎng)頁瀏覽器單點登錄(SSO)理盆。-
SAML中的三個角色
-
IdP:
Identity Provider
痘煤,身份提供者
,在SSO單點登錄中是用來提供用戶權(quán)限信息斷言的一方猿规。 -
SP:
Service Provider
,服務(wù)提供者
衷快,為用戶提供所需服務(wù)的一方,通過IdP來實現(xiàn)用戶身份驗證姨俩。 -
User:
用戶
蘸拔,通過Idp
來登錄獲取身份斷言师郑,使用斷言來獲取SP
提供的服務(wù)。
-
IdP:
Assertions
身份斷言
调窍,是一個包含用戶身份信息的XML文本宝冕,其包含了用戶的認證信息( Authentication statements )、用戶屬性( Attribute statements )邓萨、認證限制 ( Authorization decision statements )地梨。
二、單點登錄流程
使用SAML實現(xiàn)單點登錄分為兩種場景:服務(wù)提供方發(fā)起的單點登錄SP-Initiated SSO
和 身份提供方發(fā)起的單點登錄IdP-Initiated SSO
缔恳。
1. 服務(wù)提供方發(fā)起的單點登錄SP-Initiated SSO
當(dāng)用戶想要訪問SP的服務(wù)時宝剖,服務(wù)提供方需要用戶提供身份認證信息,用戶則從IdP獲取到身份認證的Assertions歉甚,發(fā)送給SP万细,SP校驗成功后,給用戶提供所需的服務(wù)纸泄。詳細交互圖如下: