Identity 也有其生命週期,也就是從 identity 的建立到結束的週期。在這個週期之間,可能會出現的事件有:
簡單介紹如下
在這個生命週期的第一步,就是建立 identity。在一個系統(產品或服務)當中加入新的使用者時,這時會建立一個新的 account,然後將它與使用者的 identity 聯繫在一起。
建立的方法有很多種,有可能是讓使用者自行輸入資料、從過去的資料庫搬遷過來,或者是仰賴第三方的服務來為使用者提供 identity。
當 account 建立之後,接下來就要決定這個這個 account 能夠做什麼事情、不能做哪些事情,也就是要「授權」使用者能夠做的事情。
當使用者準備使用他的 account 進入系統的時候,這時會需要驗證使用這個 account 的人,是否就是這個 account 所聯繫的 identity。關於驗證的方法,我們在第二天的文章 02 - Authentication & Authorization 有稍微提到。
當使用者通過驗證階段,進入系統之後,就可以執行他被授權的行動。譬如旅客在飯店櫃檯驗證過 identity 之後,就會拿到鑰匙或房卡(授權),開始使用飯店當中的各項設施。然而如果沒有人積極管理和管控飯店設施的話,實際上這個使用者是能夠做授權以外的事情。
也因此,在飯店各項設施的門口,會有工作人員再次檢查使用者的鑰匙或房卡,確保購買一般住宿的旅客,不會闖入VIP 專屬的酒吧或泳池。
當使用者通過驗證階段,進入系統之後,就可以執行他被授權的行動。而每次執行行動的時候,並不需要再次檢查使用者的 identity,以提供更好的使用者體驗。但另一方面,為了系統的安全性,並不會永遠不再次檢查使用者的 identity,因此產生了 session。
Session 紀錄著驗證過的使用者資訊,如果以飯店的例子來說,當旅客在櫃檯驗證完、拿到房卡之後,之後進出飯店各項設施,基本上飯店人員只會檢查房卡,而不會再次檢查旅客的護照或身分證。這時候這個房卡就是個 session。
不過比較特別的是,這個叫做 session 的房卡本身有使用期限,如果過期的話,旅客就必須再次回到飯店櫃檯,重新驗證身份,拿到新的房卡 (session)。至於要如何設計 session 的使用期限,就端看不同產品或服務的需求了。
今天先介紹一半,明天繼續!