從單純在stackoverflow上發佈的問題來判斷,Azure ACS似乎讓很多實施者失望,因爲它無法爲Windows Live ID用戶提供電子郵件地址。這不僅在註冊新成員方面有用,而且在認證返回成員時也是如此。也許後者的目的仍然可以實現,沒有一些明確的過程,即成員將身份提供者證書連接到他們的賬戶?將Live ID中的Azure ACS nameidentifier與已知用戶列表匹配?
ACS爲Live ID用戶提供的「nameidentifier」聲明可能與已註冊會員的正確編碼電子郵件地址匹配嗎?這是我設想的過程:
- 訪客登記上依賴方網站不通過ACS認證。會員記錄存儲在一個電子郵件地址中,該電子郵件地址恰好也通過Live ID註冊。
- 網站散列使用實時ID特定的散列函數提供電子郵件地址,並存儲除原始地址以外的地址,以免用戶可能使用Live ID進行身份驗證。
- 會員返回時沒有識別cookie,並選擇通過ACS通過Live ID憑證進行身份驗證。
- ACS返回Live ID的nameidentifier聲明。
- 網站將nameidentifier與步驟2中的哈希地址相匹配。
- 網站登錄成員。
有誰知道這樣的散列函數可能公開嗎?
乾杯
BillVo