在網上找到一份比較老的參考文檔:http://www.ibm.com/developerworks/cn/webservices/ws-casestudy/part4/
1、列舉出來其需要的幾項功能:
該服務主要需要具備三項功能:
- 用戶注冊:用戶在統一身份認證服務中注冊帳號,以后這個帳號可以在所有使用統一身份認證服務的應用系統中使用。
- 帳號關聯:如果用戶之前已經在相關的應用系統中擁有帳號,同時也已經設置了相應的權限,那么用戶能夠將這些應用
系統的帳號與統一身份認證服務的帳號進行關聯,使得用戶登錄統一身份認證服務之后,就能夠自動使用相關的應用系統用戶來訪問應用系統。
- 用戶認證:為應用系統提供用戶身份認證,兼顧兩個應用方式:
-
- 應用系統使用統一身份認證服務作為它的用戶系統,用戶與應用系統進行交互,進行登錄操作,應用
系統將用戶提供的用戶名/密碼等轉發給統一身份認證服務以檢驗其是否通過授權。
- 用戶首先登錄統一身份認證服務,并獲取權限令牌,以后可以使用這個權限令牌訪問其他的應用系
統,應用系統接收該權限令牌時應當與統一身份認證服務進行交互,以檢驗訪問的合法性。
用戶注冊
用戶注冊(包括用戶更新注冊信息)的流程可以使用下圖來表示。其中主要包含了兩個流程:新用戶注冊和用戶更新注冊信息。
新用戶注冊:
- 用戶向統一身份認證服務發出新用戶注冊請求
- 服務查詢用戶注冊庫,如果該用戶可以注冊(沒有同名ID等違背約束條件的情況發生),那么將該用戶的信息保存到
用戶注冊庫中。
- 當保存完畢后,統一身份認證服務響應用戶,注冊完成。
用戶更新注冊信息:
- 用戶向統一身份認證服務發出用戶注冊信息更新請求。
- 服務查詢用戶注冊庫,如果該用戶信息可以更新(有該ID存在,同時提供的密碼也是正確的等等),那么將該用戶的
信息將在用戶注冊庫中更新。
- 當保存完畢后,統一身份認證服務響應用戶,更新完成。
帳號關聯
帳號關聯操作可以使用下圖來表示。圖中僅包含一個登記新的帳號關聯的操作,相關的修改、刪除操作被省略了,有興趣的讀者可
以自行給出
登記新的帳號關聯:
- 用戶向統一身份認證服務發出帳號關聯注冊請求,用戶提供了應用系統的標識A,同時提供了可以在該應用系統中使用
的用戶信息(可能包含用戶名和密碼等)。
- 服務首先向該應用系統A征詢,用戶信息是否合法。如果合法則響應服務。
- 如果收到合法響應,那么服務就將這個帳號關聯注冊信息保存到用戶注冊庫中,以后該用戶登錄統一身份認證服務之
后,就能夠使用相應的應用系統A。
- 當注冊庫完成保存操作后,統一身份認證服務響應用戶,注冊完成。
身份認證組件模式
統一身份認證服務的一個基本應用模式是以應用系統的身份認證組件的形式工作,在這個應用模式下,主導地位的是應用系統。在
這種情況下,應用系統自身沒有用戶系統,因此本模式下涉及的帳號一定是統一身份認證服務的用戶帳號。
流程描述如下:(僅描述正常流程)
- 用戶使用在統一認證服務注冊的用戶名和密碼(也可能是其他的授權信息,比如數字簽名等)登陸應用系統A
- 應用系統A,將用戶名和密碼連同自己的標識(應用系統A的標識)一起轉發給統一認證服務,要求統一認證服務完成
登錄操作。
- 統一認證服務核查自己的應用系統注冊庫(使用UDDI Registry,我將在后面解釋為什么使用UDDI
Registry)看看應用系統A是否已經是統一認證服務的用戶系統。同時在用戶注冊庫中核查由應用系統A轉發過來的用戶名和密碼。
- 待核查完畢后,統一認證服務響應應用系統A,登錄完成。
- 應用系統A創建一個系統會話(Session,系統A自己的機制),并將應用系統A自己的權限令牌返回給用戶,
以后用戶端可以通過這個權限令牌持續訪問應用系統A,直至登出系統或是會話超時。
統一認證模式
統一認證模式是以統一身份認證服務為核心的服務使用模式。用戶登錄統一身份認證服務后,即可使用所有支持統一身份認證服務
的應用系統。
流程描述如下:(僅描述正常流程)
- 用戶使用在統一認證服務注冊的用戶名和密碼(也可能是其他的授權信息,比如數字簽名等)登陸統一認證服務;
- 統一認證服務創建了一個會話,同時將與該會話關聯的訪問認證令牌返回給用戶;
- 用戶使用這個訪問認證令牌訪問某個支持統一身份認證服務的應用系統;
- 該應用系統將訪問認證令牌傳入統一身份認證服務,認證訪問認證令牌的有效性;
- 統一身份認證服務確認認證令牌的有效性;
- 應用系統接收訪問,并返回訪問結果,如果需要提高訪問效率的話,應用系統可選擇返回其自身的認證令牌已使得用戶
之后可以使用這個私有令牌持續訪問。
此外,關于訪問認證令牌的失效,有兩個策略,一個是由用戶主動發起聲明,聲明其擁有的訪問認證令牌不再有效,這類似注銷的
操作,另一個是用戶一段時間內沒有使用這個認證令牌,認證令牌自動失效,這類似超時的處理。
信任代理模式
在Internet應用環境下,安全性和信任的重要性是顯而易見的,對于商用系統而言,避免非法訪問和入侵是他所需要考慮
的幾個重要問題之一,沒有比商用數據丟失或是商用系統被違規使用更糟糕的了。
在信任代理模式下,一個組織可以為他所有需要提供安全信任保障的應用系統設置一個統一身份認證服務,對這些應用系統的訪問
全部由統一身份認證服務代理。
流程描述如下:(僅描述正常流程)
- 用戶使用在統一認證服務注冊的用戶名和密碼(也可能是其他的授權信息,比如數字簽名等)登陸統一認證服務;
- 統一認證服務創建了一個會話,同時將與該會話關聯的訪問認證令牌返回給用戶;
- 用戶使用這個訪問認證令牌訪問某個支持統一身份認證服務的應用系統,不過用戶并不將請求消息直接交給應用系統,
而是傳給統一身份認證服務,在消息中標識了最終的應用系統的ID。
- 統一認證服務訪問應用系統注冊庫(UDDI
Registry),獲取了應用系統的訪問入口(統一認證服務可以將這個訪問入口緩存在本地,以減少以后與應用系統注冊庫的交互次數)。并確認這個應用系
統的確是支持統一身份認證服務的;
- 統一認證服務將請求消息轉發給指定的應用系統,如果該應用系統使用自己的用戶系統的話,那么該消息應當包含了預
先定義好的相關聯的用戶名和密碼等。
- 應用系統將請求結果返回給統一認證服務,最后統一認證服務將響應消息返回給用戶,完成調用。
在該模式下,所有應用系統僅接收來自統一認證服務的訪問請求,這樣,解決方案提供商可以將主要的安全方面的投入部署在統一
認證服務那端。